いまさら知ったfor変数
for %%A in (A B C D E) do call :sub goto :EOF :sub for %%B in (1 2 3 4 5) do echo %%A-%%B
レキシカルには :sub は、for %%A のループの外だが、%%A が参照できる!
今まで、引数で渡してました。なんてことだ。
しかし、goto すると %%B だけでなく %%A も参照できなくなる。
まあ、これはしょうがない。
@echo off for %%A in (A B C D E) do call :sub goto :EOF :sub for %%B in (1 2 3 4 5) do ( echo %%A-%%B goto foo ) :foo echo %%A-%%B