如何在for循环中访问变量

时间:2014-09-01 15:24:54

标签: windows batch-file cmd

我正在试验for循环,到目前为止还有这个 -

echo off
set "projectPath=%~1\Translations\"

echo projectPath %projectPath%

cd %projectPath%

set "tmp=f"
for /r %%g in (*.ts) do (
    echo %%g
    set %tmp%="www"
    echo %tmp%
)

当运行tmp是'f'而我不知道为什么

请有人解释发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

echo projectPath %projectPath%

cd %projectPath%
setlocal enableDelayedExpansion
set "tmp=f"
for /r %%g in (*.ts) do (
    echo %%g
    set %tmp%="www"
    echo !tmp!
)
endlocal

延迟扩展是与批处理脚本相关的最令人困惑的事情之一。有关详细信息,请查看以下链接。

link1

link2

link3