2012-12-13 2 views

答えて

5

直接実行するのではなく、実行する行がある行ごとに以下を追加することができます。

|| goto :error 

次に、エラーを定義してスクリプトを停止します。

:error 
exit /b %errorlevel% 
+0

bashと同じくらいうまくないですが、十分に良いです。 – mark

+1

+1ですが、さらに簡単な解決策があります。 [私の答え](http://stackoverflow.com/a/13863374/1012053)を参照してください。 – dbenham

13

トゥイムの解は機能しますが、さらに簡単にすることができます。

ERRORLEVELはすでに設定されているため、ERRORLEVELを設定するラベルをGOTOにする必要はありません。

あなたは、単にあなたがCALLの途中である場合、終了/ bは、現在のサブルーチンを終了することを

yourCommand || exit /b 

注意を使用することができます。スクリプトのルートに達するまで、スクリプトはレイヤーごとに各CALLを終了する必要があります。それは限り、あなたはまた、どのCALL深さからすぐに終了するバッチスクリプトを強制することが可能である各CALL文の後

call :label || exit /b 

をテストを置くと自動的に行われます。詳細はHow can I exit a batch file from within a function?を参照してください。両方の答えを必ず読んでください。受け入れられた答えには、潜在的に重大な欠点がいくつかあります。

関連する問題