3 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
記錄下來(lái),更正后的腳本如下所示:
setlocal ENABLEDELAYEDEXPANSION
for %%f in (%MYTARGETDIR%\*config.xml) do (
SET TMPFILE=%%F.tmp
echo In loop !TMPFILE!
)
echo End loop %TMPFILE%
謝謝克里斯的幫助。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
這是因?yàn)樽x取命令時(shí)會(huì)替換環(huán)境變量。對(duì)于以下命令:
for %%f in (%mytargetdir%\*config.xml) do (
set tmpfile=%%f.tmp
echo In loop %tmpfile%
)
for在執(zhí)行之前,將讀取并替換整個(gè)命令(從到右括號(hào))。
您需要使用延遲擴(kuò)展,例如:
@echo off
setlocal enableextensions enabledelayedexpansion
set full=/u01/users/pax
:loop1
if not "!full:~-1!" == "/" (
set full2=!full:~-1!!full2!
set full=!full:~,-1!
goto :loop1
)
echo !full!
endlocal
啟用延遲擴(kuò)展后,"%"標(biāo)記仍然像以前一樣工作,但是您可以使用"!"標(biāo)記來(lái)執(zhí)行延遲擴(kuò)展。
- 3 回答
- 0 關(guān)注
- 581 瀏覽
添加回答
舉報(bào)