2013-01-11 94 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/

相關問題