2018年1月18日木曜日

BATファイルでエラー出力(引数チェックなど)

Windowsのバッチファイルでエラーメッセージを標準エラー出力に出す方法。以下で"ERROR!!"が標準エラー出力に出るようになる。
echo ERROR!! 1>&2
例えば以下のように書いておけば、バッチの引数がなかった時にエラーメッセージを出してエラーレベルを1にして終了する。
if "%1"=="" (
  echo Usage: mybat.bat {param}... 1>&2
  exit /b 1
)
実行結果
C:\>mybat.bat
Usage: mybat.bat {param}...

C:\>echo %ERRORLEVEL%
1