当您使用“文件中的一个字或词组”搜索条件搜索包含文本的文件时,搜索结果中可能没有那些包含您所指定的文本的文件。例如,.log、.dll、.js、.asp、.xml、.xsl、.hta、.css、.wsh、.cpp、.c 或 .h 文件或没有文件扩展名的文件即使含有您所指定的文本,也可能不会出现在搜索结果中。即使您在“全部或部分文件名”框中指定了文件名或文件类型,也可能会发生该问题。
对于包含您所指定的文本的文件类型,没有注册筛选器组件;或者,筛选器组件忽略了您所指定的文本。要在使用“文件中的一个字或词组”搜索条件时让搜索结果中包括某个文件类型,必须为该文件类型注册有效的筛选器组件。Windows XP 只为与常见文档类型相关的文件类型注册了筛选器组件。Windows XP 中的标准筛选器组件包括:
• |
Mimefilt.dll:筛选多用途 Internet 邮件扩展 (MIME) 文件 |
• |
Nlhtml.dll:筛选 HTML 3.0 或更低版本的文件 |
• |
Offfilt.dll:筛选 Microsoft Office 文件(Microsoft Word、Microsoft Excel 和 Microsoft PowerPoint) |
• |
Query.dll:筛选纯文本文件(默认筛选器)和二进制文件(空筛选器) |
由于文本的格式或内容方面的原因,筛选器组件可能会忽略某些文本。例如,HTML 3.0 筛选器 (Nlhtml.dll) 会忽略 HTML 文件(例如,扩展名为 .htm 或 .asp 的文件)的注释中包含的文本,因为在浏览器中打开这类文件时未显示这些文本。
解决方法 1要为其他文件类型解决这一问题,请安装能够为您要搜索的文件类型注册筛选器的程序。如果没有可提供筛选器的程序,可以对文件类型使用纯文本筛选器。为此,请在 HKEY_CLASSES_ROOT 中的文件类型项下添加 PersistentHandler 项,并将它的 (Default) 字符值名称设置为以下值:
{5e941d80-bf96-11cd-b579-08002b30bfeb}
例如,要对 .pas 文件使用文本筛选器提供程序,则应存在以下注册表设置:
HKEY_CLASSES_ROOT\.pas\PersistentHandler\(Default) = {5e941d80-bf96-11cd-b579-08002b30bfeb}
方法 2
要将 Windows XP 配置为能够搜索所有文件(无论文件类型是什么),请获取最新的 Windows XP Service Pack,然后打开“含有未知扩展名的索引文件类型”选项。
如果您使用该方法,Windows XP 会在所有文件类型中搜索您指定的文本。这可能会影响搜索功能的性能。为此,请按照下列步骤操作:
1. |
单击开始,然后单击搜索(或指向搜索,然后单击“文件或文件夹”)。 |
2. |
单击“改变首选项”,然后单击“使用制作索引服务(使本地搜索更快)”。 |
3. |
单击改变制作索引服务设置(高级)。请注意,您不必打开索引服务。 |
4. |
在工具栏上,单击显示/隐藏控制台树。 |
5. |
在左窗格中,右键单击“本机索引服务”,然后单击属性。 |
6. |
在生成选项卡上,单击以选中“含有未知扩展名的索引文件”复选框,然后单击确定。 |
7. |
关闭索引服务控制台。 |
网络管理员可以通过修改注册表来配置此设置。为此,请在以下注册表项中将
FilterFilesWithUnknownExtensions 双字节值设置为 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex