我有一个运行几个可执行文件的批处理文件,我希望它成功退出,但是如果退出代码<> 0,则停止。如何执行此操作?
听起来像您需要“ If Errorlevel”命令。假设您的可执行文件在失败时返回非0的退出代码,您可以执行以下操作:
myProgram.exe
if errorlevel 1 goto somethingbad
echo Success!
exit
:somethingbad
echo Something Bad Happened.
错误级别检查是作为大于等于检查进行的,因此任何非0的退出值都将触发跳转。因此,如果您需要检查多个特定的退出值,则应首先检查最高的退出值。
您还可以使用conditional processing symbols进行简单的成功/失败检查。例如:
myProgram.exe && echo Done!
仅当Done!
返回错误级别为0时才打印myProgram.exe
。>
myProgram.exe || PAUSE
如果myProgram.exe返回非零错误级别,将导致批处理文件暂停。
比Hellion's answer更好的解决方案是检查%ERRORLEVEL%
环境变量: