読者です 読者をやめる 読者になる 読者になる

3.環境変数 (2)環境変数の計算 〜コマンドプロンプトで計算するか普通?〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

Windows Command DOSBatch

コマンドプロンプトでは変数はなく、全て環境変数になる。
これだと計算ができないように思えるが、コマンドプロンプトでも
ちゃんと計算ができる。
(でも、普段使場面はループ処理でのインクリメントぐらいだろ。)

  SET /A 式

計算

/Aをつけないと文字列になってしまう
c:\>set X=3*4

c:\>set X
X=3*4
足し算
c:\>set /A X=3+4
7
c:\>set X
X=7

最大値はINT_MAX

c:\>set /A X=2147483647
2147483647
c:\>set /A X=2147483647+1
-2147483648
引き算
c:\>set /A X=4-3
1
c:\>set X
X=1


最小値はINT_MIN

c:\>set /A X=-2147483648
-2147483648
c:\>set /A X=-2147483648-1
2147483647
掛け算
c:\>set /A Y=3*4
12
c:\>set Y
Y=12

最大値はINT_MAXなので以下も0になる

c:\>set /A X=256*256*256*256
0
割り算
c:\>set /A X=12/3
4
c:\>set X
X=4


0で割るとちゃんと0除算エラーになる

c:\>set /A X=1/0
0 除算エラーです。


少数は切り捨て

c:\>set /A X=11/3
3
c:\>set /A X=11/3*3
9