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

359
Ash

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

dir /A:H /S testHiddenFile*.txt

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

dir /A:HD /S testFolder

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

1

2 ответа на вопрос

3
El8dN8

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

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" ) 
Благодарю. Возражение вызвано тем, что это сработало, хотя оно длиннее, чем ответ в комментарии @ Biswa (`attrib / s / d * .log`). Ash 6 лет назад 0
2
Biswapriyo

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