如何使用 Windows 命令行搜索隐藏子文件夹中的非隐藏文件

如何使用 Windows 命令行搜索隐藏子文件夹中的非隐藏文件

通过谷歌和超级用户堆栈交换向我展示了如何在文件夹及其子文件夹中搜索隐藏文件

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"
)

相关内容