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

Xon*_*ron 26 recursion search windows-7

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

作为这种搜索如何被破坏的一个例子,我看到一个org.eclipse.wst.common.component文件正在搜索,Windows 7没有在结果中返回它.我假设它只搜索已知的基于文本的文件类型.如何让它搜索所有文件?我需要找到我要找的一切.

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

编辑:注意到我需要递归搜索.

joe*_*joe 39

"user3245549"是对的:

所有上述"for loops"和嵌套bat文件的答案都是mumbo jumbo.你只需要使用"findstr" - 例如:

C:\temp> findstr /S /C:"/work" * | more   <-- this will find the string "/work" in any file
Run Code Online (Sandbox Code Playgroud)

要么

C:\temp> findstr /S /C:"/work" "*.*" | more 
Run Code Online (Sandbox Code Playgroud)

要么

C:\temp> findstr /S /C:"/work" * > results.txt
Run Code Online (Sandbox Code Playgroud)

要么

C:\temp> findstr /S /C:"/work" "*.*" > results.txt
Run Code Online (Sandbox Code Playgroud)

注意:你可以省略星号周围的"双引号" - 我只是把它们放在那里因为Stackoverflow上的编辑器在这段时间的任何一侧剥去了星号.另请注意:据我所知,您仍然需要搜索"字符串文本"的引号.

  • 使用`/ I`忽略大小写.你需要它.点击此处:http://ss64.com/nt/findstr.html (3认同)

Bil*_*5WL 33

如果您正在寻找一个基于GUI的解决方案,您不必记住语法,请尝试使用Notepad ++.有一个搜索菜单,可以让您搜索目录中的文件(在文件中查找),将其限制为某些扩展名(过滤器),并查看子文件夹,然后您只需单击列表中的项目,它就会打开该文件编辑.


小智 8

在命令提示符窗口中使用findstr命令.

/ s给你一个递归搜索

/我忽略了案件


Xon*_*ron 5

这是我的三个文件 DOS解决方案,但是如果有人有,我仍在寻找合适的Windows 7解决方案:

1.搜索

@ECHO off
FOR /r %%a IN (*.*) DO CALL process.bat %%a
Run Code Online (Sandbox Code Playgroud)

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

2. process.bat

@ECHO Off
ECHO "%1" >> output.txt
TYPE "%1" | FINDSTR /i "search_string_here" >> output.txt
Run Code Online (Sandbox Code Playgroud)

打印每个文件的名称,并用引号引起来,因为某些文件会不使用该文件而破坏批处理文件的代码,然后找到搜索字符串search_string_here,并打印出在其中找到搜索字符串的整行。

3. output.txt(示例输出)

包含以如下格式格式化的输出,该输出search_string_hereproject_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" 
...
Run Code Online (Sandbox Code Playgroud)

在上方您可以看到search_string_here已找到的内容,其中全行显示在<name>search_string_here</name>D:\project_name\.project文件中...等结果。

同样,如果有人有,我仍在寻找合适的Windows 7解决方案。

警告:“行太长”错误;FINDSTR可能有问题:

显然,FINDSTR <grep,好像您不知道。这是一篇深入探讨FINDSTR中错误的文章,当在不同文件中使用相同输入时,这些错误不会重现:

显然,“行太长”是针对许多不同错误的综合信息。FINDSTR有一些问题。前段时间,我说FINDSTR几乎没有用。今天过后,我会说它的作用甚至比那时想像的要有用。- http://blog.mischel.com/2008/10/14/copying-large-files-on-windows/

  • 哈哈哈,史诗般。我喜欢这样一个事实,即W7中的搜索是如此糟糕,以至于人们开始使用DOS。对于典型的MS,我仍然可以想象Bill Gates(在SurfaceRT上)坐在那里说“这是一台平板电脑-带有支架”。立场! (3认同)