1

可能重复:
如何从 Windows 命令行获取应用程序退出代码?

我在批处理中调用的 Perl 脚本返回一个123。使用参数 829 调用这个 perl 脚本并捕获脚本的退出代码的语法是什么?

 Perl.exe listMembership.pl 829 in cmd.exe

 @echo off
 set retVal=Perl.exe listMembership.pl 829
 echo %retVal%
4

1 回答 1

2

看看if /?命令行的输出。如果没有cmd扩展,最低公分母批处理脚本将类似于以下内容:

@echo off
Perl.exe listMembership.pl 829
if errorlevel 4 goto error
if errorlevel 3 goto exit3
if errorlevel 2 goto exit2
if errorlevel 1 goto exit1
if errorlevel 0 goto exit0

:error
echo:Unexpected exit code %ERRORLEVEL%
goto end

:exit3
echo:Forbnicate
goto end

:exit2
echo:Colormaticate
goto end

:exit1
echo:Motorcade
goto end

:exit0
echo:Is this really success?
goto end

:end
echo:Done

请记住,errorlevel支票必须按降序排列,因为:

ERRORLEVEL number 如果最后一个程序运行,则指定一个真条件
                返回等于或大于数字的退出代码
                指定的。
于 2012-07-03T21:57:00.463 回答