是否有一个适用于 Windows 的程序,可以出色地完成文件内搜索的功能?
我有一个文件夹,需要经常在其中搜索某些文本,如果有一个程序可以缓存这些文件并快速搜索它们,并且保持缓存更新,那就太好了。
我花了很多时间用 netbeans、notepad++ 等进行搜索,问题是这是一个网络上的文件夹,所以每次它都会打开每个文件并进行搜索。
答案1
您可以使用Windows 搜索它适用于 Win XP 到 Win 7。可以在以下位置找到更完整的桌面搜索引擎列表:关于桌面搜索引擎的维基百科网站
编辑:一个好的(可能是最好的)在文本文件中查找内容的工具(无缓存)是grep(参考我对这个问题的评论)
答案2
我总是使用findstr
,它大致与 grep 相当,但是 Windows 原生的。
例子:
findstr /s /i /m "MyClass" *.cpp
这将在当前文件夹中递归搜索 ( /s
)。它将查找名称*.cpp
与字符串匹配的每个文件MyClass
。
/i
忽略大小写
/m
仅打印匹配文件的文件名
您可以在 Windows 的任何位置打开命令行窗口,方法是右键单击任意文件夹中的任意可用空间,同时按住 Shift 键。(不要右键单击文件)
findstr
由于 Windows 缓存了打开的文件,因此第二次在同一个目录中搜索时速度会明显加快。
答案3
就我们这里讨论的 ASCII 文本文件而言,请使用 glimpse / glimpseindex。它会创建一个非常小的索引,因为它不是存储发生的行,但只存储它发生的事实 - 因此,grep 将完成,但是仅有的实际上在文件中包含这个词,速度很快。使用 glimpseindex
索引您的硬盘,并使用 glimpse 进行搜索。输出类似于 grep。轻松适应 emacs。
答案4
使用find
命令。例如,yourstring
在所有*.txt
文件中查找:
C:\YourFolder\>find "yourstring" *.txt
如果您在网络上,只需将驱动器映射到Z:\
例如,然后find
从该驱动器运行。