変数

この記事は約3分で読めます。

変数とは、数字や文字などを記憶しておく仕組みのことです。変数を使用すると、同じ文字列を何度も打つ必要がなくなり、変数の値を変えるだけで処理全体を変更することもできます。

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

set 変数名=代入する数値や文字列

変数の中に格納されている値を使う時は変数の名前をパーセント%で囲みます。

@echo off
set num=10
set str="あいうえお"
echo numの値は%num%です
echo numの値は%str%です
pause

実行結果

numの値は10です
numの値は"あいうえお"です
続行するには何かキーを押してください . . .

他のプログラミング言語のように一度に複数の変数を定義することはできません。

@echo off
set num=10,str="あいうえお"
echo numの値は%num%です
echo numの値は%str%です
pause

実行結果

numの値は10,str="あいうえお"です
numの値はです
続行するには何かキーを押してください . . .

このプログラムの場合、変数numに値10,str=”あいうえお”が代入されます。つまりひとつしか変数は定義できていません。よって、strは変数として定義できておらず、2行目の%str%は表示されません。

ユーザーに入力された値を変数の値として使用するにはset /pコマンドを使用します。

set /p 変数名=画面に表示して入力を促す文字
@echo off
set /p input="何か入力してください"
echo あなたが入力した文字列は%input%です
pause

実行結果

何か入力してくださいgukos
あなたが入力した文字列はgukosです
続行するには何かキーを押してください . . .

変数に入っている数値を計算する時は演算子+-*/が使用できます。ただし、set /aコマンドを使用して計算結果を変数に代入しないといけません。

set /a 変数名=計算式

ただし、setコマンドはすでに定義した変数に対しても使用することができます。そのときは新しい値が代入されます。

@echo off
set i=3
set j=5
set ans1=%i%+%j%
set /a ans2=%i%+%j%
echo %i%+%j%=%ans1%
echo %i%+%j%=%ans2%
pause

実行結果

3+5=3+5
3+5=8
続行するには何かキーを押してください . . .

set /aコマンドを使用しないと、計算式全体が文字列として代入されてしまいます。set /aは変数の値を文字列ではなく数値として代入します。

コメント