今日のお題「バッチファイル(Windows MSDOS)上でプログラムの戻り値を取得するにはどうすればいいのか」
例えばバッチファイル内で「call Hoge.exe」としたときに、どうやって戻り値を得るか。です。
答え
- %ERRORLEVEL%
- プログラムのエントリポイント関数の戻り値をvoid以外に変更
- プログラムのエントリポイントでreturn
会社で同僚が俺のプログラムをbatで実行しようとして、
「戻り値で処理分けたいんだけど、できない・・・」
と言っていたので調べてみました。
結論は上記のとおり。
ERRORLEVELに戻り値が入る。
VC#.netでコンソールアプリとか作ると
デフォルトはpublic static void Mainなので、そもそも戻り値がない。
調べたら案の定、ここを変える必要があるみたいで
public static int Mainにしたら上手く行きました。
バッチファイルを作成して何かする・・・ということは結構多いので、これはなんとか記憶しておきたいです。
コメントを残す