批处理文件,检查是否返回错误,然后执行某些操作?

时间:2018-06-19 15:35:09

标签: windows batch-file

对于批处理文件,我正在尝试运行命令,如果该命令返回错误,请为每个命令尝试使用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

1 个答案:

答案 0 :(得分:0)

使用||是更好的选择...

但是,GOTO有一种独特的情况,它将破坏||,因此您需要在此之前添加CALL。

CALL grunt precommit || cd mow\client && grunt precommit || cd client && grunt precommit || GOTO whenInMapManager