从batch file中获取错误代码

我有一个运行几个可执行文件的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返回一个非零的错误级别。