如何在cmd中进行简单的文件搜索

问题描述 投票:93回答:5

我想从Windows命令行(而不是电源shell)快速搜索给出其名称或部分名称的文件。这类似于打开资源管理器并使用顶部的搜索框。

注意:dir可以基于字符串模板进行搜索,但不会在子目录中进行搜索。

注2:findstr可用于在文件中搜索令牌并具有递归标志;有趣的是,可以轻松发现更复杂的发现......

windows command-line cmd
5个回答
120
投票

dir /s *foo*搜索当前文件夹和子文件夹。

它找到目录和文件。


97
投票
dir /b/s *.txt  

搜索目录树中的所有txt文件。在使用它之前,只需将目录更改为root

cd/

您还可以使用将列表导出到文本文件

dir /b/s *.exe >> filelist.txt

并在使用中搜索

type filelist.txt | find /n "filename"

编辑1:虽然这个dir命令从旧的dos天开始工作,但Win7添加了一个名为Where的新东西

where /r c:\Windows *.exe *.dll

将按照@SPottuit建议在驱动器c:\ Windows中搜索exe&dll,你也可以将输出复制到剪贴板

where /r c:\Windows *.exe |clip

只是等待提示返回,并且在此之前不要复制任何内容。

编辑2:如果您正在递归搜索并且输出很大,您可以始终使用more来启用分页,它将在底部显示-- More --并且一旦按下SPACE或按下ENTER时逐行移动将滚动到下一页

where /r c:\Windows *.exe |more

如需更多帮助,请尝试

where/?

2
投票

dir *.txt /s /p将提供更详细的信息。


0
投票

DIR的问题在于它会返回错误的答案。如果您正在使用DIR *.DOC在文件夹中查找DOC,它还会为您提供DOCX。搜索*.HTM也会提供HTML等等......


0
投票

你可以通过dos和explorer GUI在windows中搜索。

DOS:1)DIR 2)ICACLS(搜索文件和文件夹以设置ACL)3)cacls ........................... ....................... 2)示例icacls c:* ntoskrnl *。* / grant system:(f)/ c / t,然后使用PMON sysinternals监视forlders r deied访问它们的结果包含访问路径包含你的驱动进程名称是explorer.exe那些是过滤器你必须应用HAVE NICE LIFE

© www.soinside.com 2019 - 2024. All rights reserved.