我正在研究如何从命令行或在 bat 文件中运行 .NET 应用程序,并给出了此代码用于测试应用程序的 %ERRORLEVEL%(退出返回值):
@if "%ERRORLEVEL%" == "0" goto success
为什么要测试“0”而不是0?据我了解,.NET 可执行文件在退出时返回一个 int,而不是一个字符串。
我正在研究如何从命令行或在 bat 文件中运行 .NET 应用程序,并给出了此代码用于测试应用程序的 %ERRORLEVEL%(退出返回值):
@if "%ERRORLEVEL%" == "0" goto success
为什么要测试“0”而不是0?据我了解,.NET 可执行文件在退出时返回一个 int,而不是一个字符串。
它只是将数值强制转换为字符串并进行比较。如果环境变量没有值,这会很有帮助,因此 %PARAM% == 1 将评估为 == 1,这将导致错误。
要检查程序的 ERRORLEVEL,最好按照Raymond Chen 的博客进行评估。
IF ERRORLEVEL 1 ECHO error level is 1 or more