変数を設定するsetコマンド

BASH,bat,バッチ

変数とは

変数とは数を入れておく箱みたいなイメージです。基本的には値を入れることが多いですが、文字なども入れることが可能です。

変数を設定することで、プログラミングの作業効率化やミス防止等ができるので、よく使われます。

変数を設定する

まず下記の2つのコードを入力します。1つは単純にechoコマンドで%ex1%を表示します。もう1つのコードはsetコマンドにて変数ex1に文字の「例だよ」を入れた後、echoコマンドで変数ex1を表示します。

echo %ex1%

set ex1=例だよ
echo %ex1%

コマンドスクリプトの結果がこちら。まずコード1は「%ex1%」と表示されました。一方でコード2の方は変数の中身の「例だよ」が表示されました。このように変数には任意の値や文字を入れることができました。

変数を呼び出すときは必ず「%」で変数を挟む必要があります。今回の例ように変数ex1を呼び出すときは、「%ex1%」になります。

図示すると下記のようになります。

次に変数を変えてみましょう。下記のコードを入力してみます。今回のコードはex1変数の値を変えてみます。

set ex1=例だよ
echo %ex1%
set ex1=変数を変えてみた
echo %ex1%

コマンドスクリプトの結果はこちら。1回目の変数の設定で、変数「ex1」の中身は「例だよ」となっています。2回目の変数の再設定で、変数「ex1」には「変数を変えてみた」となっています。このように同じ変数に違う値や文字を入れて変えることが可能です。

図示すると下記のようなイメージ。始めに「例だよ」という文字が変数「ex1」の中に入っていますが、「変数を変えてみた」という文字に置き換わっています。

計算を行う

次にsetコマンドを使って、計算を行います。計算を行うにはオプション「/a」を使用します。下記コマンドにて計算を行います。

set /a 1+1
set /a 2*2
set /a 9/3
set /a 2*(3+5)

コマンドプロンプトの結果はこちら。計算結果が表示されています。

次に変数を設定した後に計算を行います。

set a=5
set b=5
set /a %a%*%b%

コマンドスクリプト結果はこちら。変数a,bにはそれぞれ値の5が入っていますので、5*5で25の答えが表示されました。

setコマンドでは代入することができます。「+=」を使って、下記のコードを入力します。

set x=1
set /a x+=(a=x+1,b=5*a,c=3+b,9-c)

コマンドスクリプト結果はこちら。最終的な9-cの値が表示されました。

計算には下記の内容を使うことができます。

()                   グループ化
* / %           算術演算子
+ –            算術演算子
= *= /= %= += -= 代入

ユーザーに任意のキーを入力する

ユーザに任意の変数を設定する場合はオプション「/p」を使用します。下記に使い方の例がありますとおり、/pオプションの後に変数名を入れて「=」を記載するのみ。値や文字はユーザーが入力するので記載しません。

使い方

set /p [変数名]=

次に下記のコードを使います。ex1.batを作成し、set /pにて変数uiをユーザーに値を入力してもらいます。次に入力した値等をechoコマンドで表示させます。

set /p ui=
echo %ui%
pause

下記のとおり、ex1.batファイルを作成し、クリックします。

下記のように入力画面になるので、適当な値「1」を入力しEnterを押します。

そうすると下記のように入力した値がechoコマンドによって表示されました。

choiceコマンドも似たようなコマンドです。choiceコマンドとの違いについては下記の記事を参考に。

まとめ

今回は変数と簡単な計算について解説しました。

まとめると

・変数を設定するには「set」コマンド

・変数を設定すると、後で変更するときに楽になる

・簡単な計算やユーザーに任意の文字なども変数に設定できる。

変数とは数を入れておく箱みたいなイメージです。基本的には値を入れることが多いですが、文字なども入れることが可能です。

変数を設定することで、プログラミングの作業効率化やミス防止等ができるので、よく使われます。

変数を設定するには、「set」コマンドを使用し、呼び出すときは変数名に「%」で囲います。

例えば、変数名をexとし、中身を「例だよ」にします。変数の呼び出しはechoコマンドを使う場合、下記のコードとなります。

set ex=例だよ
echo %ex%

計算を行う場合は「set」コマンドとオプション「/a」を使用します。

例えば、1+1の計算を行う場合は下記のコードとなります

set /a 1+1

setコマンドは変数を事前に設定するだけではなく、バッチファイルを使用する際に変数を設定することも可能です。つまり、バッチファイルのユーザーが任意の数字や文字を変数で設定することが可能です。

ユーザーに任意の文字などを変数を設定するには、setコマンドとオプション「/p」を使用します。

以上です。

コメント

タイトルとURLをコピーしました