我有一个批处理文件,通过SET在for循环中初始化变量,用于磁盘上的一组文件:
for %%f in (%MYTARGETDIR%\*config.xml) do ( SET TMPFILE=%%F.tmp echo In loop %TMPFILE% ) echo End loop %TMPFILE%
当我运行这个全新的命令shell(没有定义TMPFILE)时,In循环回显是空的,但结束循环回显不是。
当我第二次运行时,它已经设置并输出其值,忽略该集合,直到循环关闭。
想法为什么这是,以及解决办法是什么?
这是因为()块仅被解析一次,它在运行循环之前将替换为%TMPFILE%。
原文链接:https://www.f2er.com/windows/372523.html