コマンド別解説

choice(指定したキーの入力を受け付ける)

>>choiceのオプション簡易解説へ

目次

 

「choice」コマンドの使い方

「choice」コマンドは、ユーザーからのキー入力を受け付けるコマンドです。

とだけ書いた場合、「Y」か「N」の二択を受け付けます。

以下、実行例です。

choice(指定したキーの入力を受け付ける) 「choice」コマンドの単独実行

ユーザーが「Y」もしくは「N」を選ぶと、プログラムが先へ進みます。「Y」、「N」以外のキーが入力されてもプログラムはその入力を受け付けず、先へ進みません。

バッチプログラム内で「Y」、「N」のどちらが入力されたか知りたいときは、変数「errorlevel」を参照します。「Y」が入力された場合、変数「errorlevel」に「1」が、「N」が入力された場合、変数「errorlevel」に「2」が代入されます。

以下、変数「errorlevel」への代入確認用のバッチファイル(choice_YN.bat)を示します。

以下、実行結果です。

 choice(指定したキーの入力を受け付ける) 変数「errorlevel」への代入確認

「Y」を入力した場合は「1」、「N」を入力した場合には「2」が変数「errorlevel」に代入されていることが確認できます。

 

入力キーを指定する

デフォルトでは、「Y」か「N」の二択ですが、入力を受け付けるキーをこちらで指定することもできます。入力キーの指定には、「/c」オプションを使用します

[入力キー]はアルファベット、もしくは数字の一文字であればなんでも指定可能です。以下のバッチファイル(choice_ABC.bat)では「A」、「B」、「C」のどれかの入力を受け付けています。

7行目で「errorlevel」の中身を確認しています。

 

以下、実行結果です。

choice(指定したキーの入力を受け付ける) 「ABC」どれかのキー入力を受け付ける

「A」が入力されたとき「errorlevel」は「1」、「B」が入力されたとき「errorlevel」は「2」、「C」が入力されたとき「errorlevel」は「3」となっています。このように、「errorlevel」に代入される数字は指定したキーの左から「1」、「2」、「3」、…となります。

 

入力キーの候補を表示しない

「/n」オプションを指定すると、入力キーの候補を表示しません。つまり、コマンドプロンプト上には何も指示がでません。

choice(指定したキーの入力を受け付ける) 「/n」オプション指定でキー候補を表示しない

これでは、ユーザーがどのキーを入力していいのかが分からない場合がありますので、次節で説明する「/m」オプションを併用してコメントを表示させるとよいでしょう。

 

コメントを表示する

「/m」オプションを使用すると、キーの入力画面に自ら指定したコメントを表示できます。使用方法は「/m」オプションに続いて、コメント文を指定します。

以下は、「/n」オプションで入力キーの候補表示を消し、その代わりに「/m」オプションでコメントを表示させた例です。

以下、実行結果です。

choice(指定したキーの入力を受け付ける) コメントを指定する

 

入力キーの大文字と小文字を区別する

「choice」コマンドによるキー入力はデフォルトでは大文字と小文字を区別しません。「/cs」オプションを付けることによって、大文字と小文字を区別するようになります

したがって、以下のコマンドは「Y」や「N」は受け付けますが、「y」や「n」は受け付けません。

 

 

入力時間に制限を与える

「/t」オプションを指定するとキー入力の時間にタイムリミットを付けることができます

[時間]には、タイムリミットを秒で指定します。そして、[文字]にはタイムリミットを過ぎたとき強制的に入力する文字を指定します。

例えば、

とした場合、20秒間ユーザーからの入力が無ければ、強制的に「A」キーを入力したこととなり、プログラムが先へ進みます。

「choice」コマンドに関しては、「こちらで指定したキーのみ入力を受け付ける -やりたいことから検索-」でも詳しい解説を行っていますのでそちらも参考にして下さい。

 

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメントを残す