2014-09-01 128 views
1

我与尝试for循环,到目前为止,有这 -如何访问变量在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”,我不知道为什么

请有人能说明什么正在进行?

回答

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