2013-01-11 65 views

回答

8

只是交换CMD /Ccall

task.bat:

@echo off 
set errorlevel=15 

runtask.bat

call task.bat 
set taskexitcode=%errorlevel% 
echo %taskexitcode% 

输出

15 
+0

工作就像一个魅力,谢谢。它还允许在'task.bat'中设置变量并读入'runtask.bat'。非常感谢! – James

+0

太好了,别担心。我实际上并不知道变量,不错:) –

+0

exit命令有一个'/ B'开关,用于设置批处理脚本的退出代码。 –

0

接受的答案是正确的,但如果你正在使用call调用另一个批处理脚本,而第二批脚本使用SetLocal,您可能需要使用解析技巧来做到这一点。如果你正在运行到这一点,你exit b前添加以下代码:

ENDLOCAL&set myvariable=%myvariable% 

现在是提供给调用上下文的myvariable值,你可以看到在其他脚本中的价值。

参考文献:
https://stackoverflow.com/a/16167938/89590
http://www.borngeek.com/2008/05/22/exiting-batch-file-contexts/

相关问题