プログラムを実行しており、その戻りコードを確認したいと考えています (エラーに応じて異なるコードが返されるため)。
Bashでは次のように実行できます。
$をエコーしますか?
Windows で cmd.exe を使用する場合はどうすればよいですか?
ベストアンサー1
「終了コード」は、 という名前のシェル変数に格納されますerrorlevel
。
はerrorlevel
コンソールアプリケーションの最後に設定されます。Windowsアプリケーションの動作は少し異なります。@を参照してください。ゲイリーの答え下に。
比較にはif
コマンド キーワードを使用します。errorlevel
if errorlevel <n> (<statements>)
エラーレベルがn以上の場合にステートメントを実行します。詳細については実行してください。if /?
という名前のシェル変数にはerrorlevel
文字列として値が含まれており、% で囲むことで逆参照できます。
スクリプトの例:
my_nifty_exe.exe
rem Give resolution instructions for known exit codes.
rem Ignore exit code 1.
rem Otherwise give a generic error message.
if %errorlevel%==7 (
echo "Replace magnetic tape."
) else if %errorlevel%==3 (
echo "Extinguish the printer."
) else if errorlevel 2 (
echo Unknown Error: %errorlevel% refer to Run Book documentation.
) else (
echo "Success!"
)
警告: errorlevel という名前の環境変数が存在する場合、errorlevel という名前のシェル変数が上書きされます。if errorlevel
テストには影響しません。