我有一个批处理文件,它通过for循环中的SET初始化变量,对于磁盘上的一组文件:
for %%f in (%MYTARGETDIR%\*config.xml) do (
SET TMPFILE=%%F.tmp
echo In loop %TMPFILE%
)
echo End loop %TMPFILE%
Run Code Online (Sandbox Code Playgroud)
当我在一个全新的命令shell中运行它(没有定义TMPFILE)时,In循环回显为空,但结束循环回显不是.
当我第二次运行时,它已经设置并输出其值,忽略该设置直到循环关闭.
想法为什么会这样,以及解决方法是什么?