@echo off
set NUM=0
for /L %%i in (1, 1, 5) do (
set /A NUM=NUM+1
echo %NUM%
)
実行結果 0 0 0 0 0
@echo off
setlocal enabledelayedexpansion
set NUM=0
for /L %%i in (1, 1, 5) do (
set /A NUM=NUM+1
echo !NUM!
)
実行結果 1 2 3 4 5
- Windowsバッチファイルの変数は実行時に展開され値が割り振られる。
- "setlocal enabledelayedexpansion"を指定することにより、実行中に変数の値が展開される(遅延環境変数)。
- 遅延環境変数を表示するには!(変数名)!と記述する。