我想重新启动服务,如果出现错误级别 5,我想重新启动机器。但是当我尝试时它只是退出脚本。
NET STOP TeamViewer9 && NET START TeamViewer9
IF %ERRORLEVEL%==1(
ECHO proceed to restart...
PAUSE
SHUTDOWN /F /R /T 30
)
我想重新启动服务,如果出现错误级别 5,我想重新启动机器。但是当我尝试时它只是退出脚本。
NET STOP TeamViewer9 && NET START TeamViewer9
IF %ERRORLEVEL%==1(
ECHO proceed to restart...
PAUSE
SHUTDOWN /F /R /T 30
)
在打开括号之前需要空格:
NET STOP TeamViewer9 && NET START TeamViewer9
IF %ERRORLEVEL%==5 (
ECHO proceed to restart...
PAUSE
SHUTDOWN /F /R /T 30
)
您正在与一个带有左括号的值进行比较;
IF %ERRORLEVEL%==1(
是相同的
IF "%ERRORLEVEL%"=="1("
这不是你想要的。只需在 ( 所以它与 IF 语句相关而不是 1) 之前插入一个空格:
IF %ERRORLEVEL%==1 (
批处理语言有点容易上当;它真的应该抱怨缺少左括号,而不是跳过其余的代码。