スクリプトでinputなど、対話的に入力した値を使用して運用行う事は沢山あります。

batファイルでユーザーが指定したものを使用したいです
このような要望に応えます。
ユーザーが入力したものを、変数に入れて使用すると、業務効率化の幅が広がります。入力された値によって結果が変わってくるってワクワクしますね。
batファイルでもset /pを使用すれば、ユーザーが入力した値を使用して処理が可能なのでやってみましょう。
プログラミングにオススメのマウス
プログラミングにオススメのキーボード
batでset /pを使用し、入力したものを使用する


setといえば変数を指定するものですが、オプションで「/p」を使用する事で、「input」のような入力する値を、変数に格納する事が出来ます。
そして「%変数%」のように、変数を「%」で囲うことで使用できます。
では実際に行っていきます。
batでset /pを実際に使用してみる
batファイル作成
まずはbatファイルを作成してください。ここでは「star.bat」というファイルを作成しました。


このファイルを右クリックして、「編集」をクリックして編集します。
ここでは下記のようなスクリプトを書きました。
set /p star="評価をしてください[1-5]"
echo あなたの評価は%star%でした。
pause
上書き保存します。
batファイルを実行する
では早速実行して見ます。


setの行でユーザーの入力を待つ画面が出てきました。
文字化けのエラーが発生した場合
ここで文字化けした方も、いるのではないでしょうか?
文字化けした方はbatファイルを「名前を付けて保存」して、文字コードを「ANSI」にしましょう。
そのまま上書き保存をし、もう一度batファイルをダブルクリックします。
batファイル実行の続き
ここでは4を入力し、エンターします。


変数に入力した「4」が格納されて、表示されているのがわかります。
setコマンドやechoコマンドまで表示されていますね。ここも不要なので消しましょう。
batファイル実行して不要な部分を消す
batファイルを編集して下記のように「@echo off」を最初の行に入れましょう。
@echo off
set /p star="評価をしてください[1-5]"
echo あなたの評価は%star%でした。
pause
ファイルを保存して、もう一度batファイルをダブルクリックする。起動したら4を入力して、エンターして見ましょう。


不要なスクリプト部分が消えて、想定通りの動きになりました。
プログラミングにオススメのマウス
プログラミングにオススメのキーボード
batでset /pを使用し、入力したものを使用する!まとめ


変数を指定する「set」コマンドに「/p」のオプションを付ける事で、入力した値を使用可能です。
文字化けする場合もありますが、その対処法として「文字コードの変更」がありました。
そのままだと、batファイルの中身も表示してしまうので、最初の行に「@echo off」を追記する事で、綺麗にしました。
最終的なコードは下記になりました。
@echo off
set /p star="評価をしてください[1-5]"
echo あなたの評価は%star%でした。
pause
batファイルで、入力する値を使用すると、運用の幅が広がりますので、是非やってみて下さい。
もっと高度なプログラミングで、業務効率化する場合はプログラミングスクールもお勧めです。
おすすめするプログラミングスクール


batで入力した値を使用できるようになれば、簡単なbatで幅広い事が出来るようになるので是非覚えて見て下さい。