set 命令如何在 Windows CMD 的 FOR 循环中工作
How set command works in FOR loop of Windows CMD
我是 CMD 脚本的新手。请解释发生了什么:
脚本:
FOR %%W IN (
aaa
bbb
) DO (
echo was=%%W
set fff=%%W*
echo new=%fff%
)
结果:
was=aaa
new=bbb*
was=bbb
new=bbb*
谢谢。
命令解释器需要知道循环内的变量需要重新计算。搜索并了解 ENABLEDELAYEDEXPANSION
.
SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%W IN (
aaa
bbb
) DO (
echo was=%%W
set fff=%%W*
echo new=!fff!
)
我是 CMD 脚本的新手。请解释发生了什么: 脚本:
FOR %%W IN (
aaa
bbb
) DO (
echo was=%%W
set fff=%%W*
echo new=%fff%
)
结果:
was=aaa
new=bbb*
was=bbb
new=bbb*
谢谢。
命令解释器需要知道循环内的变量需要重新计算。搜索并了解 ENABLEDELAYEDEXPANSION
.
SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%W IN (
aaa
bbb
) DO (
echo was=%%W
set fff=%%W*
echo new=!fff!
)