【bat】バッチファイルでユーザー入力を受け取る方法

バッチファイルを使って自動化を行う際に、ユーザーからの入力を受け取り、その入力を基に処理を行いたい場合があります。Windowsのバッチファイルでは、set /pコマンドを使用して簡単にユーザー入力を取得できます。本記事では、set /pコマンドの基本的な使い方と実際の例を紹介します。

set /p コマンドとは?

set /pコマンドは、ユーザーに入力を促し、その入力を環境変数に保存するためのコマンドです。これにより、バッチファイル内で動的なデータを処理することが可能になります。

基本的な使い方

以下は、set /pコマンドの基本的な使用例です。ユーザーに名前を入力してもらい、その名前を使って挨拶を表示するバッチファイルを作成します。

@echo off
set /p name=あなたの名前を入力してください: 
echo こんにちは、%name%さん!
pause
  • @echo off:コマンドプロンプトのコマンド出力を抑制します。これにより、ユーザーが見やすい画面が提供されます。
  • set /p name=あなたの名前を入力してください::nameという環境変数にユーザーの入力を代入します。プロンプトメッセージ「あなたの名前を入力してください:」が表示されます。
  • echo こんにちは、%name%さん!:ユーザーが入力した名前を使って挨拶メッセージを表示します。
  • pause:プログラムの実行を一時停止し、ユーザーがキーを押すのを待ちます。これにより、ユーザーがメッセージを読む時間を確保します。

実行手順

  1. 上記のコードをテキストエディタ(例:メモ帳)にコピーします。
  2. ファイルを任意の名前(例:greet.bat)で保存します。拡張子は.batとしてください。
  3. 保存したファイルをダブルクリックして実行します。

実行すると、「あなたの名前を入力してください:」というメッセージが表示されます。名前を入力してEnterキーを押すと、「こんにちは、(入力した名前)さん!」と挨拶が表示されます。

まとめ

バッチファイルでユーザー入力を受け取ることは、非常に簡単で強力な機能です。set /pコマンドを使うことで、ユーザーの入力を環境変数に保存し、バッチファイル内でその値を利用することができます。今回紹介した基本的な例をもとに、さまざまな自動化スクリプトを作成してみてください。