如何(递归)搜索Windows 7中的所有文件内容?我在Windows资源管理器的content:xxx
框中使用Search settings
命令在此示例中搜索xxx
。这不起作用:
作为如何破解此搜索的示例,我看到一个org.eclipse.wst.common.component
文件,其中包含我正在搜索的文本,而Windows 7未在结果中返回该文件。我假设它只搜索已知的基于文本的文件类型。 如何让它搜索所有文件?我需要找到我要找的一切。
P.S。如果有基于DOS的解决方案,我也会接受这个。也许可以构建使用dir /s /b
和findstr
的批处理文件。
编辑:注意到我需要进行递归搜索。
答案 0 :(得分:37)
" user3245549"是对的:
所有上述答案都带有" for循环"和嵌套的bat文件是mumbo jumbo。你所需要的只是使用" findstr" - 例如:
C:\temp> findstr /S /C:"/work" * | more <-- this will find the string "/work" in any file
或
C:\temp> findstr /S /C:"/work" "*.*" | more
或
C:\temp> findstr /S /C:"/work" * > results.txt
或
C:\temp> findstr /S /C:"/work" "*.*" > results.txt
注意:您可以省略&#34;双引号&#34;在星号周围 - 我只是把它们放在那里因为Stackoverflow上的编辑器在这段时间的任何一侧都删除了星号。 另请注意:您仍然需要围绕&#34;字符串文本&#34;据我所知,你正在寻找它。
答案 1 :(得分:31)
如果您正在寻找一个基于GUI的解决方案,您不必记住语法,请试用Notepad ++。有一个搜索菜单,可以让您搜索目录中的文件(在文件中查找),将其限制为某些扩展名(过滤器),并查看子文件夹,然后您只需单击列表中的项目,它就会打开该文件编辑。
答案 2 :(得分:8)
在命令提示符窗口中使用findstr命令。
/ s为您提供递归搜索
/我忽略了案例
答案 3 :(得分:4)
这是我的三个文件 DOS解决方案,但我仍在寻找合适的Windows 7解决方案,如果有人有一个:
@ECHO off
FOR /r %%a IN (*.*) DO CALL process.bat %%a
递归搜索所有文件,并在每个文件上运行process.bat
。
@ECHO Off
ECHO "%1" >> output.txt
TYPE "%1" | FINDSTR /i "search_string_here" >> output.txt
在引号中打印每个文件的名称,因为某些文件会中断批处理文件代码,然后找到搜索字符串search_string_here
,并打印出找到搜索字符串的整行。
包含输出,格式如下,在search_string_here
中存储的project_name
Java项目中搜索D:\project_name\
,显示搜索到的所有文件以及结果(如果有的话):
"D:\project_name\.classpath"
"D:\project_name\.project"
<name>search_string_here</name>
"D:\project_name\content_search_all_files.bat"
"D:\project_name\output.txt"
<name>search_string_here</name>
"D:\project_name\pom.xml"
...
上面你可以看到search_string_here
被找到,全行是<name>search_string_here</name>
,在D:\project_name\.project
档案中...以及其他结果。
同样,如果有人,我仍在寻找合适的Windows 7解决方案。
显然,FINDSTR&lt; grep,好像你不知道。这篇文章深入研究了FINDSTR中的错误,当在不同的文件中使用相同的输入时,这些错误不会重现:
显然,“行太长”对于许多人而言是一个包罗万象的消息 不同的错误。 FINDSTR有一些问题。前段时间,我说过 FINDSTR略有用处。在今天之后,我会说它甚至更少 比我想象的那样有用。 - http://blog.mischel.com/2008/10/14/copying-large-files-on-windows/
答案 4 :(得分:3)
这可以通过命令提示符完成,但语法非常详细
for /r %a in (\*.*) do find "search_text" %a
现在可以在Windows 7中使用(删除额外的点)
答案 5 :(得分:-1)
如果您要查找位于公共文件夹(例如文档或图片)中的文件或文件夹,通常可以使用文件夹窗口顶部的“搜索”框找到它。有关详细信息,请参阅使用搜索框。Here.
如果您要查找程序,浏览器历史记录中的网站或存储在个人文件夹中任何位置的文件,可以使用“开始”菜单底部的“搜索”框。有关详细信息,请参阅查找文件或文件夹。Here.
如果您要查找多个相关文件,例如特定月份的所有文件或您编写的所有文档,则可以使用文件列表上方的标题过滤,堆叠或分组文件。以这些方式之一组织文件使其更易于查找和选择。有关详细信息,请参阅使用文件列表标题。Here
当您需要使用多个过滤器构建搜索时,或者当您同时从多个文件夹中查找文件时,请在“搜索”文件夹中创建搜索。完成后,您可以保存搜索条件,并在将来再次使用它,只需单击一次即可再次查找同一组文件。有关详细信息,请参阅“搜索”文件夹中的“创建高级搜索”。Here