変数の計算

set var=1
set /a var=var+1
echo %var%

変数に値を入れる時はset、計算して変数に入れる場合はset /aを使います。

また、echoなどで変数を出力する場合は%で囲みます。囲まないと「var」という文字列が表示されます。

遅延環境変数

setlocal enabledelayedexpansion
set var=1
for /l %%a in (1,1,10) do (
    set /a var=var+%%a
    echo !var!
)
endlocal

for文やif文の中で変数を使った計算がうまくいかない場合はこれが必須。これをしないと値が変わりません。

遅延環境変数をechoで出力する場合は%ではなく!で囲みます。