exit - プログラムを終了する
exit
コマンドとは
exit
コマンドは、バッチファイルやコマンドプロンプトを終了させることができるコマンドです。
このページでは、exit
コマンドの基本的な使い方からオプションの設定方法まで分かり易く説明しています。
exit
コマンドの使い方
exit
コマンドの基本的な使い方は以下の通りです。
exit [/b] <終了コード>
オプション | 説明 |
---|---|
/b | exit コマンドを実行したバッチファイルの処理を終了します。 |
<終了コード> | 終了コードを指定します。未指定の場合、数値以外を指定した場合は0 として扱われます。 |
オプションを指定せず使用することができ、その場合はexit
コマンドは何もせずに終了します。
上記のコマンドを実行すると、開いているコマンドプロンプトが終了します。
また、オプションを指定しなかった場合、call
やstart
コマンドで呼び出した先のバッチファイル内のコマンドであっても、コマンドプロンプトは終了します。
@echo off
setlocal
call callee.cmd
rem 以下のコマンドは実行されない
pause
endlocal
@echo off
setlocal
exit
endlocal
上記の 2 つを用意した上で、以下のコマンドを実行します。
上記のコードが実行されると、即座にコマンドプロンプトが終了します。
callee.cmd
内でオプションを指定しないexit
コマンドが実行されるため、caller.cmd
のpause
コマンドは実行されません。
/b
オプション
/b
オプションを指定すると、exit
コマンドを実行したバッチファイルの処理を終了します。
前述したcaller.cmd
とcallee.cmd
の例では、呼び出し先のcallee.cmd
でexit
コマンドが実行されたタイミングで、caller.cmd
も終了してしまいました。
/b
オプションを指定することで、呼び出し元のバッチファイルの処理を終了させずに、呼び出し先のバッチファイルの処理のみを終了させることができます。
caller.cmd
とcallee.cmd
を以下のように書き換えます。
@echo off
setlocal
call callee.cmd
rem 以下のコマンドは実行される
pause
endlocal
@echo off
setlocal
exit /b
endlocal
上記の 2 つを用意した上で、以下のコマンドを実行します。
上記のコマンドが実行されると、pause
コマンドが実行されます。
終了コードの指定
<終了コード>
には、終了コードを指定します。
終了コードは数値のみ指定することができ、数値以外を指定した場合エラーとはなりませんが、終了コードは0
として扱われます。
指定した終了コードは%errorlevel%
に格納されます。
%errorlevel%
を使用することで、直前に実行したコマンドの終了コードを取得することができます。
caller.cmd
とcallee.cmd
を以下のように書き換えます。
@echo off
setlocal
call callee.cmd
echo 終了コードに%errorlevel%が指定されました
pause
endlocal
@echo off
setlocal
exit /b 100
endlocal
上記の 2 つを用意した上で、以下のコマンドを実行します。
上記のコマンドが実行されると、以下のように出力されます。