0

我想重新启动服务,如果出现错误级别 5,我想重新启动机器。但是当我尝试时它只是退出脚本。

NET STOP TeamViewer9 && NET START TeamViewer9

IF %ERRORLEVEL%==1(
    ECHO proceed to restart...
    PAUSE
    SHUTDOWN /F /R /T 30
    )
4

2 回答 2

1

在打开括号之前需要空格:

NET STOP TeamViewer9 && NET START TeamViewer9

IF %ERRORLEVEL%==5 (
    ECHO proceed to restart...
    PAUSE
    SHUTDOWN /F /R /T 30
)
于 2014-09-01T19:02:43.097 回答
0

您正在与一个带有左括号的值进行比较;

IF %ERRORLEVEL%==1(

是相同的

IF "%ERRORLEVEL%"=="1(" 

这不是你想要的。只需在 ( 所以它与 IF 语句相关而不是 1) 之前插入一个空格:

IF %ERRORLEVEL%==1 (

批处理语言有点容易上当;它真的应该抱怨缺少左括号,而不是跳过其余的代码。

于 2014-09-03T03:45:03.007 回答