ディレクトリツリー内の特定の名前を持つすべてのファイルに対して何らかの操作を実行しようとしている 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」と等しくなることはありません。
探している機能を得るために何をする必要がありますか?