自己在windows8写的批处理文件 关闭和启动自己的mysql服务 MySQL56为我的mysql服务名字 不知道错哪了?
发布网友
发布时间:2022-04-09 06:11
我来回答
共2个回答
热心网友
时间:2022-04-09 07:40
修改后的代码如下
@echo off
net start | findstr MySQL56 >test.txt
if "%errorlevel%" == "0" (
echo the service is on
echo do you want to close it?
echo 1:close 2:giveup
set /p var=please enter the choice
if "%var%" == "1" ( echo close the service
net stop MySQL56
) else ( goto end )
) else (
echo the service is off
net start MySQL56
goto end )
:end
del test.txt
pause
错误一:
if %errorlevel% equ 0
此语句帮助中有明确说明,必须是启用命令扩展后才能这么比较
如果命令扩展名被启用,IF 会如下改变:
IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command
其中,比较运算符可以是:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
未启用命令扩展到的话,只能使用 字符串 == 字符串 的方式进行比较。
追问批处理中的字符串什么时候需要加双引号,什么时候不需要加双引号?我怎么见有的书中说批处理的字符串不需要加双引号
追答双引号是指将其中的字符按照字符串处理,主要是set /p 后面的if判断要加引号,否则某些情况下可能导致判断异常出错,所以我一般if判断都加引号。
热心网友
时间:2022-04-09 08:58
net start mysql(服务名)
net stop mysql(服务名)
服务名可以到系统的服务中找到mysql,看下属性。