2014-09-01 224 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