Search 用于在文件中搜索字符串而无需索引的工具

Search 用于在文件中搜索字符串而无需索引的工具,search,full-text-search,text-files,Search,Full Text Search,Text Files,我必须在一个非常古老的遗留应用程序中更改一些连接字符串,制作该应用程序的程序员认为在整个应用程序中到处粘贴连接字符串是一个好主意 VisualStudio的“当前项目”搜索速度非常慢,我不信任Windows搜索 那么,最好的免费、无索引文本搜索工具是什么?它只需返回一个列表,其中包含文件夹及其子文件夹中所需字符串的文件 我正在运行Windows 2003 Server。我非常喜欢中的“在文件中查找”对话框。奖励:免费 原始答案 这真的很好 编辑:开发人员不再维护或提供Windows Grep。另

我必须在一个非常古老的遗留应用程序中更改一些连接字符串,制作该应用程序的程序员认为在整个应用程序中到处粘贴连接字符串是一个好主意

VisualStudio的“当前项目”搜索速度非常慢,我不信任Windows搜索

那么,最好的免费、无索引文本搜索工具是什么?它只需返回一个列表,其中包含文件夹及其子文件夹中所需字符串的文件


我正在运行Windows 2003 Server。

我非常喜欢中的“在文件中查找”对话框。奖励:免费


原始答案

这真的很好

编辑:开发人员不再维护或提供Windows Grep。另一个下载链接位于此处:

当前答案

具有出色的跨文件搜索和替换功能。它速度极快,支持正则表达式和替换前的实时预览


还有一个名为的Windows内置程序,您可以使用它在文件中搜索

>findstr /s "provider=sqloledb" *.cs

我喜欢AstroGrep。结果显示在列表中。单击一行可以将整行显示为突出显示点击的预览。 它看起来很快,很瘦,而且是免费的。 在Windows 7、8、10和Windows Server 2008 R2上测试。 允许使用正则表达式

AstroGrep是一个Microsoft Windows GUI文件搜索(grep)实用程序。它的特性包括正则表达式、多功能打印选项、存储最新使用的路径,并具有“上下文”特性,非常适合查看源代码


参考资料:

如果您不想安装非Microsoft工具,请从Microsoft Sysinternals开始,执行如下步骤:

@echo off
if '%1' == '' goto NOPARAM
if '%2' == '' goto NOPARAM
if not exist %1 goto NOFOLDER

echo ------------------------------------------
echo - %1 : folder
echo - %2 : string to be searched in the folder
echo - PLEASE WAIT FOR THE RESULTS ...
strings -s %1\* | findstr /i %2 > grep.txt
notepad.exe grep.txt

goto END

:NOPARAM rem - input command not correct
echo ====================================
echo Usage of GREP.CMD:
echo   Grep "SearchFolder" SearchString
echo Please specify all parameters
echo ====================================
goto END

:NOFOLDER
echo Folder %1 does not exist
goto END

:END rem - exit

VisualStudio在文件夹中的搜索是迄今为止我发现的最快的

我相信它只会智能地搜索文本(非二进制)文件,在同一文件夹中的后续搜索速度非常快,与其他工具不同(可能文本文件适合windows磁盘缓存)

VS2010在普通硬盘上,无需SSD,只需1分钟即可搜索20GB文件夹,其中包含26k文件、源代码和二进制文件。搜索15k个文件-其余文件可能被跳过,因为它们是二进制文件。同一文件夹中的后续搜索以秒为单位(直到内容从缓存中移出)

我为同一个文件夹找到的下一个最近的文件夹是grepWin。大约3分钟。我排除了大于2000KB的文件(默认值)。“包含二进制文件”设置似乎对加快搜索速度没有任何作用,看起来二进制文件仍然被触动(bug?),但它们不会显示在搜索结果中。后续搜索都需要相同的3分钟-无法利用硬盘缓存。如果我限制为小于200k的文件,初始搜索时间为2.5分钟,后续搜索时间为秒,大约与缓存中的VS-一样快

代理Ransack和FileSeek在该文件夹上的速度都非常慢,大约20分钟,这是因为搜索了所有内容,包括巨大的千兆字节二进制文件。根据资源监视器,他们的搜索速度约为每秒10-20MB



更新:代理Ransack可以设置为搜索特定大小的文件,并使用“我的机器”(Windows 7)上的,它崩溃了两次。我要试试别的。它很旧了,对我来说也坏了。即使对于某些目标来说并不完美,但grepWin更好,imohAstroGrep也很快,而且它在Windows 7上对我来说也很好-没有崩溃,不幸的是,它不能--或者不能--搜索所有Microsoft Word文件。关于“.doc”和“.docm”I之间的区别suspect@CarlWitthoft
.docm
,如
.docx
.xlsm
.xlsx
实际上都是压缩的XML文档。它适用于文件量正常的小文件夹,也适用于文件量较大的文件夹,至少在我使用笔记本电脑时是如此。使用功能强大的PC时速度会快一点。此外,当它搜索时,无法打开任何其他文件。找到我的文本。但是,不允许我在结果中选择要替换和保留的值。全有还是全无?我甚至不知道这是记事本++中的一个选项。找到丢失文件的绝佳解决方案!但是,它似乎确实存在文件大小过大的问题。有时它会出现“文件太大而无法打开”错误。
010编辑器在0秒内搜索huuuge文件。depche视图可以轻松击败此页面上的所有其他内容。有一些快捷方式,您需要花几分钟阅读帮助文件并学习。我也经常使用它,但是它会强制您单击每个结果文件以查看右窗格中的内容匹配。另外,右窗格中的文件内容不可缩放(字体太小)。这对于软件工程来说是个好问题,但与主题无关。主题是哪个SE网络站点?请参阅,例如,我们应该迁移此问题,以便重新打开它!看看应用商店上的文件内容查找器(免责声明-我是开发者)。它可以在文本/源文件中搜索,也可以在pdf、doc(x)、xls(x)甚至扫描的jpg/png文件中搜索-简单高效!这比Windows资源管理器快得多,而且实际上找到了我正在搜索的文本,而使用Windows资源管理器并没有为我生成搜索结果。谢谢。对我来说,这是关于这个话题的最好答案,因为你不需要安装任何东西。在我的例子中,我不得不补充添加一些参数,因为屏幕上显示的信息太多了。参数/M只列出包含我要查找的信息的文件名。要访问findstr命令手册,请在控制台中键入“findstr/?”。这是一个很好的工具,但它似乎无法读取文件名中的西里尔字符。例如:
FINDSTR:无法打开??????.txt
FINDSTR不支持UTF16文本。全部关闭