Windows 搜索未索引带有 .SQL 扩展名的文本文件的内容

Windows 搜索未索引带有 .SQL 扩展名的文本文件的内容

我无法让 Windows Search 索引带有.sql扩展名的文本文件的内容。我做错了什么吗?

背景:

我在工作中使用一个叫做Navicat它帮助我使用我们的 MySQL 数据库。当我使用 Navicat 编辑和保存查询时,它会将它们存储在.sqlProgram Files 中 Navicat 目录中的文件中。

由于 Windows Search 默认不会索引 Program Files 内的文件,因此我将其添加到索引位置列表中,如下图所示:

在此处输入图片描述

我还进入了高级部分并添加了.sql文件扩展名并选择了Index Properties and File Contents选项。这将过滤器描述设置为Plain Text Filter

在此处输入图片描述

但是,每当我搜索希望在文件中找到的文本(.sql例如)时,saw_order.Wo type:sql它都不会返回任何文件。搜索如果我搜索的是姓名文件的,但绝不会将其内容与.sql文件一起。

这些.sql文件是纯文本文件,可以用记事本轻松打开和编辑。Navicat 只是添加了一些智能感知和组织功能,但除此之外,它就是纯文本。

为什么 Windows Search 看不到这些文件的内容?

我是否需要在 Windows 搜索中添加一些特殊插件才能识别这些文件?

注意:我正在使用 Windows Search 4.0 和 Windows XP SP3。

答案1

似乎 Windows Search 在读取文件格式时存在问题,即使设置为纯文本也是如此。这是已知问题甚至被提出这里是超级用户

目前我最好的建议是使用可以搜索文件内容的程序。它可能不如索引那么快,但希望它可以帮你完成工作。

我推荐四种出色的工具:

特工搜捕(免费软件):

替代文本

NirSoft SearchMyFiles(免费软件和便携式软件):

替代文本

Windows Grep

替代文本

便携式文件搜索器(免费软件):

替代文本

答案2

确保您的注册表中的以下位置有以下项:

Computer\HKEY_CLASSES_ROOT\.sql

[HKEY_CLASSES_ROOT\.sql]
"Content Type"="text/plain"
"PerceivedType"="text"

[HKEY_CLASSES_ROOT\.sql\PersistentHandler]
@="{5E941D80-BF96-11CD-B579-08002B30BFEB}"

然后重新索引。

答案3

如果索引本身存在问题,我会尝试告诉搜索查看未索引文件的内容。

转到任何资源管理器窗口,然后按,Alt然后转到工具>文件夹选项,然后单击搜索选项卡,勾选带圆圈的选项:

在此处输入图片描述

答案4

文章Windows XP 搜索错误状态:

Windows XP 不会搜索所有文件,以提高搜索性能并避免出现无关结果。无论您在搜索时是否使用索引服务,都会发生此行为。因此,Windows XP 有一个已知问题,即当您搜索“包含文本”的文件或使用“文件中的单词或短语”选项时找不到许多文件类型。

这个问题可以针对许多文件类型进行补救,但不是全部。原因是注册表中缺少此类文件的 PersistentHandler 值。

方法#1

下载VB 脚本(作者道格·诺克斯)。将刚刚下载的文件保存到硬盘。找到刚刚保存的文件并双击。输入要修改的文件扩展名。如果 PersistentHandler 子键存在,则不会进行任何更改。如果该文件类型不存在该子键,则注册表将进行相应更新。完成要更改的文件类型后,请重新启动。

方法 #2

多发性硬化症知识库 309173有另一个针对此错误的修复程序。要将 Windows XP 配置为搜索所有文件(无论文件类型如何),请获取 Windows XP 的最新服务包(当前为 SP2),然后打开索引具有未知扩展名的文件类型选项。

如果使用此方法,Windows XP 将在所有文件类型中搜索您指定的文本。

这会影响搜索功能的性能。为此,请参阅上面的说明文章

相关内容