![如何使用 Windows 命令行搜索隐藏子文件夹中的非隐藏文件](https://linux22.com/image/1539841/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Windows%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%90%9C%E7%B4%A2%E9%9A%90%E8%97%8F%E5%AD%90%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E7%9A%84%E9%9D%9E%E9%9A%90%E8%97%8F%E6%96%87%E4%BB%B6.png)
通过谷歌和超级用户堆栈交换向我展示了如何在文件夹及其子文件夹中搜索隐藏文件
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"
)