Windowsバッチで選択クイズを作る

Windowsバッチで選択クイズを作るサンプルコードです。
choice コマンドを使用するとユーザにコマンドのプロンプトで入力を催促することが可能です。ユーザが選択した結果は errorlevel で取得することが可能です。

正解だとラベル"ok"に移動し正解の処理が行われます。不正解の場合はそのまま不正解の処理が実行され、exit で終了します。

choice コマンドは /c で候補を設定しています。ここでは1,2,3の三択なので /c 123 を指定しています。

/m でメッセージで回答の入力を指示するメッセージを表示しています。

以下は choice コマンドのオプションとなります。

/C 選択 作成する選択の一覧を指定します。
既定の一覧は "YN" です。

/N プロンプトで選択の一覧を非表示にします。
プロンプト前のメッセージはまだ表示されたままで、
選択も有効です。

/CS 大文字と小文字を区別するかどうかの選択を有効にします。
既定では、ユーティリティは大文字と小文字を区別します。

/T タイムアウト 既定値が選択されるするまでの時間(秒) です。
0 から 9999 までを指定できます。
0 を指定した場合、待ち時間なしに既定値が選択され
ます。

/D 選択 nnnn 秒後に、選択される既定の選択を指定します。
/C オプションで指定した選択のセット内に文字がなければ
なりません。nnnn を /T で指定する必要もあります。

/M テキスト プロンプトの前に表示するメッセージを指定します。
メッセージを指定しなかった場合は、プロンプトのみが
表示されます。

バッチ

Windowsバッチで選択クイズを作る

コマンド:


@echo off
echo クイズです。空気中に最も多い元素は?
echo  1. 窒素
echo  2. 酸素
echo  3. 二酸化炭素
choice /c 123 /t 30 /n /m "お答えをどうぞ"
if %errorlevel% equ 1 goto ok
echo 間違いです。
pause
exit

:ok
echo 正解です。
pause

実行例:


C:\temp>echo off
クイズです。空気中に最も多い元素は?
1. 窒素
2. 酸素
3. 二酸化炭素
お答えをどうぞ 1
正解です。
続行するには何かキーを押してください . . .

コマンドサンプル一覧