目次
変数の設定
「set」コマンドには様々な機能がありますが、最も使用頻度が高いのは変数の設定です。
変数の設定方法は、「set」コマンドのに続いて、「[変数名]=[代入したい文字列]」を書きます。
1 |
set [変数名]=[代入したい文字列] |
これで、[変数名]に[代入したい文字列]が格納されます。
以下の例では、変数「yahoo」に文字列「ヤッホー!」を入れています。
1 |
set yahoo=ヤッホー! |
この変数の中身を参照したいときは、変数を「%」で囲みます。
%[変数名]%
以下のバッチファイル(set_hensu.bat)は変数「yahoo」の中身をコマンドプロンプトへ出力しています。
1 2 3 4 5 |
@echo off set yahoo=ヤッホー! echo %yahoo% |
以下、実行結果です。
四則演算
「set」コマンドは簡単な計算を行うためにも使用されます。簡単な演算とは整数の足し算・引き算・掛け算・割り算・余りの計算のことです。
計算を行うときは、「/a」オプションを指定して下さい。
1 |
set /a [変数]=[計算式] |
計算式で使える演算子は以下の5つです。
+ | 足し算 |
– | 引き算 |
* | 掛け算 |
/ | 割り算 |
%% | 割り算の余り(※「%」は2つ必要であることに注意) |
以下のバッチファイル(set_calc.bat)に「set」コマンドを使った計算例を示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
@echo off rem 変数「a」と「b」に値を代入(ここでは、「/a」は必要ない) set a=37 set b=107 rem 足し算(a+b) set /a kai=a+b echo %a%+%b%=%kai% echo; rem 引き算(a-b) set /a kai=a-b echo %a%-%b%=%kai% echo; rem 掛け算(a×b) set /a kai=a*b echo %a%×%b%=%kai% echo; rem 割り算(a÷b) set /a kai=a/b echo %a%÷%b%=%kai% echo; rem 割り算の余り(a÷bの余り) set /a kai=a%%b echo %a%÷%b%の余り=%kai% echo; |
以下、実行結果です。
「set」コマンドでの計算の詳しい解説は、「バッチファイル内で計算を行う -やりたいことから検索-」をご覧下さい。
ユーザーからの入力情報の取得
ユーザーからの入力情報を「set」コマンドで取得するには、「/p」オプションを使います。
1 |
set /p [入力情報を入れたい変数]="[コマンド実行時に表示するメッセージ]" |
「/p」オプションを使うと「set」コマンドの働きが大きく変化します。「=」の左辺には従来通り「変数」を指定しますが、右辺には変数に入れたい文字列ではなく、このコマンドが実行される際にコマンドプロンプト上に表示されるメッセージを記入することに注意して下さい。
以下、使用例(set_user_input.bat)を示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
@echo off rem ユーザーの身長を変数「height」に代入 set /p height="あなたの身長を入力してください。(cm)" rem ユーザーの体重を変数「weight」に代入 set /p weight="あなたの体重を入力してください。(kg)" echo; rem BMIを計算して表示 set /a BMI=(%weight%*10000)/(%height%*%height%) echo BMIは%BMI%です。 rem 適正体重を計算して表示 set /a bestw=(%height%*%height%)*22/10000 echo 適正体重は%bestw%です。 |
4行目、7行目で身長、体重の情報をユーザーに求めています。ユーザーがここで入力した数値は、変数「height」と「wight」にそれぞれ入り、10行目以下でBMIと適正体重の計算に使用されます。
以下、実行して身長・体重を入力してみた結果です。