Не уверен, что можно что-то сделать, чтобы исправить поведение FOR /D
, но вы могли бы использовать другой подход.Вы можете использовать вывод DIR
в цикле FOR /F
.
Теперь команда DIR
принимает аргументы, что позволяет получить необходимый вывод.В частности, вы можете указать DIR
отображать только имена скрытых каталогов (/ADH
) и делать это без другой информации, такой как дата и время и сводка (/B
).Запустите DIR /?
или HELP DIR
в командной строке для получения дополнительной информации.
Итак, ваш цикл может выглядеть следующим образом:
FOR /F "delims=" %%D IN ('DIR /ADH /B') DO ECHO %%D
Параметр delims
FOR /F
loop указывает циклу использовать целые строки вывода DIR
, в отличие от чтения до первого пробела, что является поведением по умолчанию.Вы можете узнать больше об этом, вызвав справку по FOR
в командной строке: FOR /?
или HELP FOR
.