
Я пытаюсь найти способ получить список всех файлов, без скрытых каталогов. Я пробовал несколько вариантов чего-то вроде этого:
dir /b /s /a:-h z:\ >toc-z.txt
но это пропускает только скрытые файлы. Мне нужен список, который исключает все скрытые папки, включая файлы и подпапки этих скрытых папок.
Можно ли как-то пропустить анализ и вывод списка скрытых папок?
решение1
Это немного хакерски, но вы, вероятно, могли бы использовать xcopy
команду с опциями /l
и /s
(или, возможно, /e
). Ключевой является опция /l
, которая сообщает, что нужно отобразить список файлов, которыебытькопировать, а не делать копии. По умолчанию xcopy
не копирует скрытые или системные файлы, поэтому они будут проигнорированы.
решение2
Это длинная команда, но она работает и довольно быстро :-)
Вот он в виде длинной однострочной команды для командной строки
>toc-z.txt ((for %F in ("z:\*") do @echo %F)&for /f "delims=" %D in ('dir /s /ad-h-l /b z:\*^|sort') do @for %F in ("%D\*") do @echo %F)
Вот он как пакетный файл
@echo off
>toc-z.txt (
for %%F in ("z:\*") do @echo %%F
for /f "delims=" %%D in (
'dir /s /ad-h-l /b z:\*^|sort'
) do for %%F in ("%%D\*") do echo %%F
)