我有一个 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总是等于在 for 循环中找到的最后一个元素。所以我可能会得到这样的输出。(为清楚起见添加对齐)
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永远不等于“alpha”或“charlie”。
我需要做什么才能获得我正在寻找的功能?