对于批处理文件,我正在尝试运行命令,如果该命令返回错误,请为每个命令尝试使用GOTO的其他命令...但是该脚本始终会因错误而失败....但它不正确现在,至少如果最后一个GOTO不起作用,它应该陷入无休止的循环。
我已经阅读过检查是否有错误...
IF %ERRORLEVEL% NEQ 0 (
GOTO tryInRoot
)
但是我不确定,有什么帮助吗?
grunt precommit
IF %ERRORLEVEL% NEQ 0 (
GOTO tryInRoot
)
:tryInRoot
cd mow\client && grunt precommit
IF %ERRORLEVEL% NEQ 0 (
GOTO tryInTrunk
)
:tryInTrunk
cd client && grunt precommit
IF %ERRORLEVEL% NEQ 0 (
GOTO whenInMapManager
)
:whenInMapManager
cd ..
IF EXIST "Gruntfile.js" (
GOTO leavingMapManager
) ELSE (
GOTO whenInMapManager
)
:leavingMapManager
cd ..
cd mow\client && grunt precommit
答案 0 :(得分:0)
使用||
是更好的选择...
但是,GOTO有一种独特的情况,它将破坏||
,因此您需要在此之前添加CALL。
CALL grunt precommit || cd mow\client && grunt precommit || cd client && grunt precommit || GOTO whenInMapManager