文本筛选器怎么用
这是针对XP问题利用文本筛选器当您使用“文件中的一个字或词组”搜索条件搜索包含文本的文件时,搜索结果中可能没有那些包含您所指定的文本的文件。例如.log、.dll、.js、.asp、.xml、.xsl、.hta、.css、.wsh、.cpp、.c或.h文件或没有文件扩展名的文件即使含有您所指定的文本,也可能不会出现在搜索结果中。即使您在“全部或部分文件名”框中指定了文件名或文件类型,也可能会发生该问题。
原因
对于包含您所指定的文本的文件类型,没有注册筛选器组件;或者,筛选器组件忽略了您所指定的文本。要在使用“文件中的一个字或词组”搜索条件时让搜索结果中包括某个文件类型,必须为该文件类型注册有效的筛选器组件。WindowsXP只为与常见文档类型相关的文件类型注册了筛选器组件。WindowsXP中的标准筛选器组件包括:
Mimefilt.dll:筛选多用途Internet邮件扩展(MIME)文件
Nlhtml.dll:筛选HTML3.0或更低版本的文件
Offfilt.dll:筛选MicrosoftOffice文件(MicrosoftWord、MicrosoftExcel和MicrosoftPowerPoint)
Query.dll:筛选纯文本文件(默认筛选器)和二进制文件(空筛选器)
由于文本的格式或内容方面的原因,筛选器组件可能会忽略某些文本。例如HTML3.0筛选器(Nlhtml.dll)会忽略HTML文件(例如,扩展名为.htm或.asp的文件)的注释中包含的文本,因为在浏览器中打开这类文件时未显示此文本。
MicrosoftWindows2000和更低版本的Windows会在所有文件中搜索您指定的内容。WindowsXP并不搜索所有文件,这是为了提高搜索性能和避免得到无关结果。无论您在搜索时是否使用索引服务,搜索操作都是这样进行。
解决方案
方法1
要为其他文件类型解决这一问题,请安装能够为您要搜索的文件类型注册筛选器的程序。如果没有可提供筛选器的程序,可以对文件类型使用纯文本筛选器。为此请在HKEY_CLASSES_ROOT中的文件类型项下添加PersistentHandler项,并将它的(Default)字符值名称设置为以下值:
{5e941d80-bf96-11cd-b579-08002b30bfeb}
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft不能保证您可以解决这些问题。修改注册表需要您自担风险。
例如要对.zzz文件使用文本筛选器提供程序,则应存在以下注册表设置:
HKEY_CLASSES_ROOT\.zzz\PersistentHandler\(Default)={5e941d80-bf96-11cd-b579-08002b30bfeb}
将该值添加到注册表中以后,必须注销然后重新登录才能使更改生效。
注意:
纯文本筛选器并非适用于所有文件类型。如果为文件类型添加纯文本筛选器后无效,请与该文件类型的供应商联系,以获取该文件类型的筛选器。
HTML3.0筛选器(Nlhtml.dll)会忽略在HTML文件(例如,扩展名为.htm或.asp的文件)的注释中包含的文本。要搜索在HTML文件的注释中包含的文本,请使用纯文本筛选器或方法2中介绍的方法。
方法2
要将WindowsXP配置为能够搜索所有文件(无论文件类型是什么),请获取最新的WindowsXPServicePack,然后打开“含有未知扩展名的索引文件类型”选项。
如果您使用该方法,WindowsXP会在所有文件类型中搜索您指定的文本。这可能会影响搜索功能的性能。为此请按照下列步骤操作:
1.单击“开始”,然后单击“搜索”(或指向“搜索”,然后单击“文件或文件夹”)。
2.单击“改变首选项”,然后单击“使用制作索引服务(使本地搜索更快)”。
3.单击“改变制作索引服务设置(高级)”。需要注意的是您不必打开索引服务。
4.在工具栏上,单击“显示/隐藏控制台树”。
5.在左窗格中,右键单击“本机索引服务”,然后单击“属性”。
6.在“生成”选项卡上,单击以选中“含有未知扩展名的索引文件”复选框,然后单击“确定”。
7.关闭索引服务控制台。
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft不能保证您可以解决这些问题。修改注册表需要您自担风险。
网络管理员可以通过修改注册表来配置此设置。为此请在以下注册表项中将“FilterFilesWithUnknownExtensions”DWORD值设置为1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex
XP系统的搜索功能,搜索包含某个字符的文件时,
为“提高效率”,取消了对所有文件类型中字符的搜索支持,
只有部分文件类型中的字符可以被搜索。
尽管309447补丁或SP1里增加了对很多文件类型中字符的搜索支持,
(http://support.microsoft.com/?id=309447)
但还是有些文件类型(比如difficult提及的java文件)不能被搜索。
UsingtheAWordorPhraseintheFileSearchCriterion
MayNotWork
http://support.microsoft.com/?id=309173
简单的总结一下里面提及的两个方法,供参考:
方法一:如果某个文件类型不支持搜索其中的字符,可以
将下述复制到记事本文件(不包括横线),
---------------------------------------
WindowsRegistryEditorVersion5.00
[HKEY_CLASSES_ROOT\.***\PersistentHandler]
@={5e941d80-bf96-11cd-b579-08002b30bfeb}
---------------------------------------
其中***代表文件的扩展名,需要修改(编辑)成相应的文件扩展
名。
编辑后另存为reg类型文件,(文件名称随便取),
双击此文件导入注册表即可搜索相应扩展名文件中包含的字符。
方法二:运行regedit,编辑注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex
右侧FilterFilesWithUnknownExtensions子键(REG_DEWORD类型)
的键值改为1
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇