2013-01-11 3 views

答えて

8

runtask.bat

@echo off 
set errorlevel=1 

ただcallためCMD /Cを交換します。

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/

関連する問題