1
我正在嘗試編寫一個批處理文件,該文件讀取包含特定行的文本文件,並將其作爲變量傳遞。這裏是我的代碼:批處理文件使用系統變量從文本文件中讀取
SetLocal EnableDelayedExpansion
for /f "delims== tokens=1,2" %%G in (c:\temp\fred.txt) do (
if "%%G"=="FRED" (set %%G=%%H)
)
set FRED=%FRED%
echo %FRED%
set FRED=%USERNAME%
echo %FRED%
pause
的FRED.txt的內容是:
ERIC=PATATE
FRED=%USERNAME%
當我運行此我得到:
C:\TEMP>SetLocal EnableDelayedExpansion
C:\TEMP>for /F "delims== tokens=1,2" %G in (c:\temp\fred.txt) do (if "%G" ==
"FRED" (set %G=%H))
C:\TEMP>(if "ERIC" == "FRED" (set ERIC=PATATE))
C:\TEMP>(if "FRED" == "FRED" (set FRED=%USERNAME%))
C:\TEMP>set FRED=%USERNAME%
C:\TEMP>echo %USERNAME%
%USERNAME%
C:\TEMP>set FRED=fred
C:\TEMP>echo fred
fred
C:\TEMP>pause
Press any key to continue . . .
所以,當我做我的for循環我得到%USERNAME%而不是像常規集FRED =%USERNAME%應該給我的fred。誰能幫我?
你的結果是我所期望的。請明確您的期望並告訴我們「用戶名」是什麼。 – Magoo