Как искать не скрытые файлы в скрытых подпапках с помощью командной строки Windows

Как искать не скрытые файлы в скрытых подпапках с помощью командной строки Windows

Просмотрев Google и обмен данными суперпользователя, я узнал, как искать скрытые файлы в папке и ее подпапках.

dir /A:H /S testHiddenFile*.txt

или скрытые папки:

dir /A:HD /S testFolder

Но как мне выполнить поиск по всем подпапкам (скрытым или не скрытым) для всех файлов с определенным расширением. Например, я хочу найти расположение файлов *.logв , C:\Users\SomeUser\но эти файлы могут находиться в скрытых папках.

решение1

Используйте attrib /s /d *.*команду. Смотреть больше:https://ss64.com/nt/attrib.html

решение2

Взято и адаптировано изэтот ответ, он пройдёт по всем папкам, независимо от того, скрыты они или нет, и найдёт файлы, независимо от того, скрыты они или нет:

REM Recursive scan through all folders with or without Hidden attribute for any files
for /f "tokens=* delims=" %i in ('dir /b/s/a-d *') do echo "%i"

Адаптировано по вашему вкусу для поиска всех *.logфайлов:

REM Recursive scan through all folders with or without Hidden attribute for .log files
for /f "tokens=* delims=" %i in ('dir /b/s/a-d *.log') do echo "%i"

Если вы хотите сохранить их каталоги в файл myFiles.txt:

for /f "tokens=* delims=" %i in ('dir /b/s/a-d *.log') do echo "%i">>myFiles.txt

Если вы хотите открыть все файлы по одному:

for /f "tokens=* delims=" %%i in ('dir /b/s/a-d *.log') do (
    pause
    echo.
    echo Opening file "%%i"...
    notepad.exe "%%i"
)

Связанный контент