如何(递归)搜索Windows 7中的所有文件内容?

时间:2012-02-16 16:46:21

标签: search windows-7 recursion

如何(递归)搜索Windows 7中的所有文件内容?我在Windows资源管理器的content:xxx框中使用Search settings命令在此示例中搜索xxx。这不起作用:

作为如何破解此搜索的示例,我看到一个org.eclipse.wst.common.component文件,其中包含我正在搜索的文本,而Windows 7未在结果中返回该文件。我假设它只搜索已知的基于文本的文件类型。 如何让它搜索所有文件?我需要找到我要找的一切。

P.S。如果有基于DOS的解决方案,我也会接受这个。也许可以构建使用dir /s /bfindstr的批处理文件。

编辑:注意到我需要进行递归搜索。

6 个答案:

答案 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解决方案,如果有人有一个:

1。 search.bat

@ECHO off
FOR /r %%a IN (*.*) DO CALL process.bat %%a

递归搜索所有文件,并在每个文件上运行process.bat

2。 process.bat

@ECHO Off
ECHO "%1" >> output.txt
TYPE "%1" | FINDSTR /i "search_string_here" >> output.txt

在引号中打印每个文件的名称,因为某些文件会中断批处理文件代码,然后找到搜索字符串search_string_here,并打印出找到搜索字符串的整行。

3。 output.txt(示例输出)

包含输出,格式如下,在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可能有错误:

显然,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