IF ERRORLEVELの零判定
ERRORLEVELが負数のときには、
IF ERRORLEVEL 1 ECHO 正
IF NOT ERRORLEVEL 1 ECHO 零または負
なので、零判定、非零判定に使えまへん。
ほな、どないしまひょ。零判定は2段重ねかな。
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 ECHO 零
IF NOT ERRORLEVEL 1 IF ERRORLEVEL 0 ECHO 零
一方、非零判定は、正と負の二つに分かれてしまいます。
IF ERRORLEVEL 1 (ECHO 正) ELSE IF ERRORLEVEL 0 (ECHO 零) ELSE ECHO 負
ERRORLEVELを絶対値に変換すれば楽かも。
IF NOT ERRORLEVEL 0 CMD/CEXIT %ERRORLEVEL:~1%
IF ERRORLEVEL 1 ECHO 非零
IF NOT ERRORLEVEL 1 ECHO 零
IF ERRORLEVELを使わない零判定なんてのもあります。
CMD/CEXIT %ERRORLEVEL% && ECHO 零 || ECHO 負
« コマンドプロンプトやバッチファイルで使えるNOPコマンドは? | トップページ | ファイル名に=;,や全角空白を含むファイルをバッチファイルにドロップすると、ファイル名が分割される。(その4) »