俺今天终于告别伴我度过了两年的win2000, 迎来了win2003,初次使用即遇上一个搜索问题,就是搜索文件
中的字词功能只能针对于.txt文本文件! 对我于工作所用的.pas .java .jsp等都没法得出搜索结果!
后经查看帮助才知道具体原因!
症状
当您使用“文件中的一个字或词组”搜索条件搜索包含文本的文件时,搜索结果中可能没有那些包含您所指定的文本的文件。例如,.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