【bat】バッチでset /pを使用し、ユーザーが入力したものを使用する

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

ユーザーが入力したものを、変数に入れて使用すると、業務効率化の幅が広がります。入力された値によって結果が変わってくるってワクワクしますね。

batファイルでも可能なので、やってみましょう。

コマンドとしては「set /p」です。

目次

batでset /pを使用し、入力したものを使用する

PC

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を使用し、入力したものを使用する!まとめ

PC

変数を指定する「set」コマンドに「/p」のオプションを付ける事で、入力した値を使用可能です。

文字化けする場合もありますが、その対処法として「文字コードの変更」がありました。

そのままだと、batファイルの中身も表示してしまうので、最初の行に「@echo off」を追記する事で、綺麗にしました。

最終的なコードは下記になりました。

@echo off

set /p star="評価をしてください[1-5]"

echo あなたの評価は%star%でした。

pause

batファイルで、入力する値を使用すると、運用の幅が広がりますので、是非やってみて下さい。

もっと高度なプログラミングで、業務効率化する場合はプログラミングスクールもお勧めです。

おすすめするプログラミングスクール

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
目次
閉じる