choice
バッチ プログラムの 1 文字の選択肢の一覧から 1 つの項目を選択するようにユーザーに求め、選択した選択肢のインデックスを返します。 パラメーターが指定されていない場合、choice は既定の選択肢 Y と N を表示します。
構文
choice [/c [<choice1><choice2><…>]] [/n] [/cs] [/t <timeout> /d <choice>] [/m <text>]
パラメーター
パラメーター | 説明 |
---|---|
/c <choice1><choice2><…> |
作成する選択肢の一覧を指定します。 有効な選択肢には、a から z、A から Z、0 から 9、および拡張 ASCII 文字 (128 から 254) が含まれます。 既定の一覧は YN であり、[Y,N]? として表示されます。 |
/n | 選択肢の一覧を非表示にしますが、選択肢は引き続き有効であり、メッセージ テキスト (/m で指定されている場合) は引き続き表示されます。 |
/cs | 選択肢で大文字と小文字が区別されます。 既定では、選択では大文字と小文字は区別されません。 |
/t <timeout> |
/d で指定された既定の選択肢を使用する前に一時停止する時間 (秒) を指定します。 指定できる値は 0 から 9999 です。 /t が 0 に設定されている場合、choice は既定の選択肢を返す前に一時停止しません。 |
/d <choice> |
/t で指定された秒数を待機した後に使用する既定の選択肢を指定します。 既定の選択肢は、/c で指定された選択肢の一覧に含む必要があります。 |
/m <text> |
選択肢の一覧の前に表示するメッセージを指定します。 /m を指定しない場合は、選択プロンプトだけが表示されます。 |
/? | コマンド プロンプトにヘルプを表示します。 |
解説
ERRORLEVEL 環境変数は、ユーザーが選択肢の一覧から選択したキーのインデックスに設定されます。 リスト内の最初の選択肢は
1
の値を返し、2 番目の選択肢は2
の値を返します。 ユーザーが有効な選択肢ではないキーを押すと、choice は警告ビープ音を鳴らします。choice によってエラー状態が検出された場合は、
255
の ERRORLEVEL 値が返されます。 ユーザーが Ctrl + BREAK キーまたは Ctrl + C キーを押すと、choice は0
の ERRORLEVEL 値を返します。
Note
バッチ プログラム内で ERRORLEVEL 値を使用する場合は、値を降順で列挙する必要があります。
例
Y、N、C の選択肢を表示するには、バッチ ファイルに次の行を入力します。
choice /c ync
バッチ ファイルで choice コマンドが実行されると、次のプロンプトが表示されます。
[Y,N,C]?
Y、N、C の選択肢を非表示にし、テキスト [はい]、[いいえ]、または [続行] を表示するには、バッチ ファイルに次の行を入力します。
choice /c ync /n /m "Yes, No, or Continue?"
Note
/n パラメーターを使用するが、/m を使用しない場合、choice が入力を待機しているときに、ユーザーにプロンプトが表示されません。
前の例で使用したテキストとオプションの両方を表示するには、バッチ ファイルに次の行を入力します。
choice /c ync /m "Yes, No, or Continue"
5 秒の制限時間を設定し、既定値として N を指定するには、バッチ ファイルに次の行を入力します。
choice /c ync /t 5 /d n
Note
この例では、ユーザーが 5 分以内にキーを押しない場合、既定で choice は N を選択し、エラー値 2
が返されます。 それ以外の場合、choice はユーザーの選択に対応する値を返します。