choice
choiceは、キー入力を受け付けるコマンドです。
解説
バッチ処理中でユーザに判断をさせたい場合などに使用します。
どれが選択されたかは、%ERRORLEVEL%に格納されます。
(ただし値が入るのではなく、選択肢の何番目の値が選択されたかが格納されます。)
構文
- (構文)
- CHOICE [オプション]
オプション | 説明 |
---|---|
/C 選択 | 選択の一覧を指定する (デフォルトは YN です。) |
/N | 選択の一覧を非表示にする |
/CS | 大文字/小文字を区別する (デフォルトは区別しません。) |
/M 文字列 | プロンプトの前に表示するメッセージを指定する |
/T 秒数 | 入力までのタイムアウト時間(秒数)を指定する (経過時は、/Dオプションで指定した既定値が選択されます。) |
/D 既定値 | 入力タイムアウト時に選択される既定値を指定する (同時に/Tオプションの指定が必要です。) |
/? | コマンドのヘルプを表示する |
サンプル
Y、N、C いずれかのキー入力を受け付ける
(test1.bat)
@echo off
choice /c YNC /m "OKはY、NOはN、キャンセルはCを入力してください。"
echo %ERRORLEVEL%
(実行例)
C:¥>test1.bat
OKはY、NOはN、キャンセルはCを入力してください。 [Y,N,C]?Y
1
押されたキーに対する取得できる値は以下の通りです。
Y⇒1、N⇒2、C⇒3
Y、N いずれかのキー入力を受け付ける(制限時間5秒)
(test2.bat)
@echo off
choice /T 5 /D Y /m "YまたはNを入力してください。(5秒を過ぎるとYが選択されます)"
echo %ERRORLEVEL%
(実行例)
C:¥>test2.bat
YまたはNを入力してください。(5秒を過ぎるとYが選択されます) [Y,N]?Y
1
押されたキーに対する取得できる値は以下の通りです。
Y⇒1、N⇒2