从批处理文件中获取错误代码

问题描述 投票:36回答:3

我有一个运行几个可执行文件的批处理文件,我希望它成功退出,但是如果退出代码<> 0,则停止。如何执行此操作?

windows batch-file exit-code
3个回答
43
投票

听起来像您需要“ If Errorlevel”命令。假设您的可执行文件在失败时返回非0的退出代码,您可以执行以下操作:

myProgram.exe
if errorlevel 1 goto somethingbad
echo Success!
exit
:somethingbad
echo Something Bad Happened.

错误级别检查是作为大于等于检查进行的,因此任何非0的退出值都将触发跳转。因此,如果您需要检查多个特定的退出值,则应首先检查最高的退出值。


28
投票

您还可以使用conditional processing symbols进行简单的成功/失败检查。例如:

myProgram.exe && echo Done!

仅当Done!返回错误级别为0时才打印myProgram.exe。>

myProgram.exe || PAUSE

如果myProgram.exe返回非零错误级别,将导致批处理文件暂停。


1
投票

Hellion's answer更好的解决方案是检查%ERRORLEVEL%环境变量:

© www.soinside.com 2019 - 2024. All rights reserved.