Windowsコマンド虎の巻

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

関連項目

  • pause:バッチプログラムの中で処理を一時停止する
  • timeout:一定時間プログラムの実行を待機する