入門講義5 変数と計算

BASH,bat,バッチ

今回は、バッチファイルの重要な基礎である「変数」と「計算」について解説します。

変数とは、値や文字を入れる箱のようなもので、バッチファイルでは変数を多用しますします。また、計算では足し算や掛け算などの四則演算を行います。

さっそく解説します。

今回の内容のポイント

  • 変数:値や文字を入れる箱のようなもの
  • 計算:足し算、掛け算などのこと
  • 使用するコマンド:set

変数とは

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

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

画像に alt 属性が指定されていません。ファイル名: hz6aUjp78nPi8oRy7Pp6em7H3NyHzmI29kUY1nP9V-0TRUZ8iD-oK2OEPdqOfS_BFi1h5VAtqnBzySa1rwsM-jrjJSXw1GFXkjwZs43fM8xQA3h6CVk0oa8s0NzgTXoEfuamRCa6VoBHQKUJVmhfR7anI0TOYZatoGFskGM8txfTvIUfh6ZDyWIIPA

変数を設定するメリットは?イメージしてみる

演劇の台本をイメージします。三匹の子豚の台本は以下のとおりとします。

末っ子の豚は藁の家を1日で建てました。

末っ子の豚はお兄さん2人の豚に自慢しました。

しかし、末っ子の豚の藁の家は狼に1日で吹き飛ばされました。

この演劇で演じる末っ子の子豚が実際に佐藤さんであったり、斉藤さんであったりします。でも台本を書く場合には「末っ子の豚」という役名にしておけば、話の流れは理解できます。

このような仕組みのメリットを2つほど挙げます。

メリット1:演じる人の変更が簡単

演じる人が斉藤さんから山本さんに変わっても、「おばあさん」と役柄は変わらない。

メリット2:具体的に演じる人が決まってなくても台本が書ける

演じる人がいなくても、決まっていなくても、台本を書けることが可能です。

変更に強い仕組みということです。

変数を設定する

変数を設定するにはsetコマンドを使用します。

まず下記の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をコピーしました