我有一個Windows批處理文件,我試圖對目錄樹中給定名稱的每個文件執行一些操作。如何存儲和使用循環變量批處理文件的值
for /f "delims=" %%i in ('dir /s %1 ^| findstr /c:"Directory of"') do (
set dir=%%i
echo i = %%i
echo dir = %dir:~14%
)
我的問題是DIR總是等於找到了循環的最後一個元素。所以我可能會得到這樣的輸出。 (添加爲了清楚對準)
i = Directory of c:\alpha\myfile.txt
dir = c:\charlie\myfile.txt
i = Directory of c:\bravo\myfile.txt
dir = c:\charlie\myfile.txt
i = Directory of c:\charlie\myfile.txt
dir = c:\charlie\myfile.txt
所以DIR是從未等於 「阿爾法」 或 「查理」。
我需要做些什麼來獲得我正在尋找的功能?
你爲什麼不把內環路的功能還檢查是否需要delayedExpansion? - > http://ss64.com/nt/delayedexpansion .html – npocmaka