例えばこんなバッチファイルがあるとします。
@echo off setlocal set /a s = 0 for /L %%i in (1, 1, 100000) do ( set /a s += 1 ) echo %s%
forループが時間がかかるので、この処理を行っている隙に
echo %s%
の部分を
echo %s%a
と変えて保存すると、
100000a
と表示されます。一々ファイルを読んでいるんですね。
set /a s += 1
を
set /a s += 2
と変えても答えは変わりません。forループ内は一つのコマンドとみなされてループが1回回るごとにファイルから読むというようなことはないようです。だからforループは速いんですね。