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 テキスト プロンプトの前に表示するメッセージを指定します。
メッセージを指定しなかった場合は、プロンプトのみが
表示されます。
コマンド:
@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
正解です。
続行するには何かキーを押してください . . .