CHOICEコマンドはバッチファイル実行中、キーボード入力により処理順序等を変えられる便利なコマンドですが、MS−DOSのバージョンによってはCHOICEコマンドが無いようです。BASICやC言語などの高級言語で実行形式(.COM、.EXE)が作成できるコンパイラがあればCHOICEコマンドを作成できます。
CHOICEコマンド(エラーレベルを設定するプログラム)を作ってみましょう。
例)C言語で作成
main() { char c; printf("[Y/N]:"); c=getch(); printf("\n"); if(c=='Y') exit(1); if(c=='N') exit(2); exit(0); }実行結果:Y入力でエラーレベル1、N入力でエラーレベル2、それ以外の文字でエラーレベル0を設定。
コンパイラが無い場合は多少作成に注意が必要(作成ミスはプログラムが暴走しリセット必要等の障害あり)ですが、DEBUGコマンドでも作成が可能です。>
例)DEBUGで作成(その1)
実行方法:choiceyn.com
実行結果:Y、y入力でエラーレベル1、N、n入力でエラーレベル2を設定。それ以外の入力は再度入力待ち。
例)DEBUGで作成(その2)
実行方法:choices.com
実行結果:入力文字のアスキーコードをそのままエラーレベルに設定。