我有两个批处理文件,task.bat
和runtask.bat
。 runtask.bat
调用task.bat
,我希望runtask.bat
将task.bat
的退出代码转换为变量。如何做到这一点?
task.bat:
@echo off
set errorlevel=1
runtask.bat
...
CMD /C task.bat
set taskexitcode=????
只需将CMD /C
换成call
。
task.bat:]
@echo off
set errorlevel=15
runtask.bat
call task.bat
set taskexitcode=%errorlevel%
echo %taskexitcode%
[输出] >>
15
接受的答案是正确的,但是如果您正在使用call
调用另一个批处理脚本,而第二个批处理脚本正在使用SetLocal
,则可能需要使用解析技巧来完成此操作。如果遇到此问题,请在exit b
之前添加以下代码:
我在Teamcity管道中有一个批处理脚本,并且在其子脚本以代码1退出后没有退出。