我有一个运行几个可执行文件的batch file,我希望它在成功时退出,但是如果退出代码<> 0则停止。我该怎么做?
听起来就像你会想要“如果Errorlevel”命令。 假设你的可执行文件在失败时返回一个非0的退出代码,你可以这样做:
myProgram.exe if errorlevel 1 goto somethingbad echo Success! exit :somethingbad echo Something Bad Happened.
错误级别检查是作为一个更大或相等的检查,所以任何非0退出值将触发跳转。 因此,如果您需要检查多个具体的退出值,您应该首先检查最高的值。
您也可以使用条件处理符号来进行简单的成功/失败检查。 例如:
myProgram.exe && echo Done!
将打印Done!
只有当myProgram.exe
返回错误级别0时。
myProgram.exe || PAUSE
会导致批处理文件暂停,如果myProgram.exe返回一个非零的错误级别。