この記事では、Windowsコマンドプロンプトの「choice」コマンドを使った選択制御の方法を詳しく説明します。「choice」コマンドは、ユーザーに複数の選択肢を提示し、入力を受け取るためのものです。このコマンドを使用することで、コマンドライン上で条件分岐や簡単なインタラクティブなスクリプトを作成することができます。
コマンドプロンプトとは?
コマンドプロンプトは、Windowsオペレーティングシステムにおいて、ユーザーがコンピュータにテキストベースの「コマンド」を入力して直接操作するためのインターフェースです。このコマンドは、特定の操作を行うための指示や命令をコンピュータに伝えるもので、ファイルの操作、システム設定の変更、ネットワークの管理など、様々なタスクを実行することが可能です。グラフィカルユーザーインターフェース(GUI)の前身として、初期のコンピュータシステムで主に使用されていましたが、今日でも多くの専門家や上級ユーザーが高度なタスクを効率的に実行するためにコマンドプロンプトを使用しています。
基本的な「choice」コマンドの使用方法
「choice」コマンドの基本的な使用方法は次のようになります。このコマンドは、指定した選択肢をユーザーに提示し、入力された選択肢に基づいて次の操作を制御します。
1 |
choice /C YN /M "保存しますか? (Y/N)" |
上記のコードでは、ユーザーに「保存しますか? (Y/N)」というメッセージが表示され、YまたはNのキーを押すように求められます。
「choice」コマンドのオプション
– /C : 選択肢を指定します。例: /C YN は Y と N の2つの選択肢を提供します。
– /M : メッセージを指定します。このオプションで、選択肢の前に表示するメッセージを設定できます。
「choice」コマンドと条件分岐
「choice」コマンドを使用して条件分岐を実装することができます。以下はその例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
choice /C YN /M "保存しますか? (Y/N)" IF ERRORLEVEL 2 GOTO NO_SAVE IF ERRORLEVEL 1 GOTO SAVE :SAVE echo 保存しました。 GOTO END :NO_SAVE echo 保存しませんでした。 GOTO END :END |
このコードは、「choice」コマンドでユーザーからの入力を受け取った後、入力に応じて「保存しました」と表示するか、「保存しませんでした」と表示するかを選択します。
ERRORLEVELについて
「choice」コマンドを使用すると、選択された項目に基づいてERRORLEVELが設定されます。このERRORLEVELを利用して条件分岐を行います。ERRORLEVELは、選択された項目の位置に応じて設定されるため、最初の選択肢(この場合はY)が選択されるとERRORLEVEL 1が、次の選択肢(この場合はN)が選択されるとERRORLEVEL 2が設定されます。
応用例
複数の選択肢を持つメニューの作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
echo メニューを選択してください。 choice /C 123 /M "1. ファイルを開く 2. ファイルを保存 3. 終了" IF ERRORLEVEL 3 GOTO END IF ERRORLEVEL 2 GOTO SAVE IF ERRORLEVEL 1 GOTO OPEN :OPEN echo ファイルを開きました。 GOTO END :SAVE echo ファイルを保存しました。 GOTO END :END |
このコードでは、3つの選択肢を持つメニューを表示し、ユーザーの入力に応じて異なる操作を実行します。
タイムアウトオプションを使用した自動選択
「choice」コマンドにはタイムアウトオプション(/T)があり、これを使用すると指定した時間が経過した後に自動で選択肢を選択することができます。
1 |
choice /C YN /T Y /D 5 /M "5秒後に自動で保存します。保存しない場合はNを押してください。" |
このコードは、5秒後に自動でYを選択し、メッセージを表示します。
まとめ
「choice」コマンドは、Windowsコマンドプロンプトでユーザーの選択に基づく操作を制御するための強力なツールです。このコマンドを使用することで、シンプルなインタラクティブなスクリプトやメニュードリブンのアプリケーションを作成することができます。是非ともこの機能を活用して、より効率的な作業を実現してください。
コメント