forコマンドが途中で切れる

for /f %i in ('dir /s /b /a *.dll') do echo "%i"

とやったらパスが途中で切れる。

何でだろうと思ったらスペースで区切ってやがった。

おもわず「このあらいを作ったのは誰だあっ」と叫びたくなった(読んだことないけど)。

オプションを付けて回避。

for /f "delims=" %i in ('dir /s /b /a *.dll') do echo "%i"

ちなみに何をやろうとしていたかというと、サブディレクトリに散らばったDLLファイルにicaclsで実行権限を与えようとしていた。