это должно работать
for /f "delims=" %5 in ('dir /a:d /b') do dir /b /s "%5"
Вот поломка для этого лайнера.
for /f
используется для зацикливания списка элементов.
"delims="
устанавливает разделители на none, поэтому каждая строка обрабатывается как одна фраза. По умолчанию пробелы будут рассматриваться как разделитель.
%5
переменная
in ('dir /a:d /b')
это получает список каталогов целевой папки.
do dir /b /s "%5"
здесь вы определяете свое действие, do
а затем команду, а затем переменную %5
в качестве аргумента.
Обратите внимание, что когда вы запускаете это из командного файла, вы должны использовать %%5
for /f "delims=" %%5 in ('dir /a:d /b') do dir /b /s "%%5"
Надеюсь это поможет.
Спасибо