原因
对于包含您所指定的文本的文件类型,没有注册筛选器组件;或者,筛选器组件忽略了您所指定的文本。要在使用“文件中的一个字或词组”搜索条件时让搜索结果中包括某个文件类型,必须为该文件类型注册有效的筛选器组件。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 的文件)的注释中包含的文本,因为在浏览器中打开这类文件时未显示此文本。
Microsoft Windows 2000 和更低版本的 Windows 会在所有文件中搜索您指定的内容。Windows XP 并不搜索所有文件,这是为了提高搜索性能和避免得到无关结果。无论您在搜索时是否使用索引服务,搜索 *** 作都是这样进行。
解决方案
方法 1
要为其他文件类型解决这一问题,请安装能够为您要搜索的文件类型注册筛选器的程序。如果没有可提供筛选器的程序,可以对文件类型使用纯文本筛选器。为此,请在 HKEY_CLASSES_ROOT 中的文件类型项下添加 PersistentHandler 项,并将它的 (Default) 字符值名称设置为以下值:
{5e941d80-bf96-11cd-b579-08002b30bfeb}
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装 *** 作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。
例如,要对 .zzz 文件使用文本筛选器提供程序,则应存在以下注册表设置:
HKEY_CLASSES_ROOT\.zzz\PersistentHandler\(Default) = {5e941d80-bf96-11cd-b579-08002b30bfeb}
将该值添加到注册表中以后,必须注销然后重新登录才能使更改生效。
注意:
纯文本筛选器并非适用于所有文件类型。如果为文件类型添加纯文本筛选器后无效,请与该文件类型的供应商联系,以获取该文件类型的筛选器。
HTML 3.0 筛选器 (Nlhtml.dll) 会忽略在 HTML 文件(例如,扩展名为 .htm 或 .asp 的文件)的注释中包含的文本。要搜索在 HTML 文件的注释中包含的文本,请使用纯文本筛选器或方法 2 中介绍的方法。
方法 2
要将 Windows XP 配置为能够搜索所有文件(无论文件类型是什么),请获取最新的 Windows XP Service Pack,然后打开“含有未知扩展名的索引文件类型”选项。
如果您使用该方法,Windows XP 会在所有文件类型中搜索您指定的文本。这可能会影响搜索功能的性能。为此,请按照下列步骤 *** 作:
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文件)不能被搜索。
Usingthe"AWordorPhraseintheFile"SearchCriterion
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
正则表达式<(\S*?) [^>]*>.*?</\1>|<.*? />
匹配
<html>hello</html>|<a>abcd</a>
不匹配
abc|123|<html>ddd
正则表达式
^[^<>`~!/@\#}$%:)(_^{&*=|'+]+$
匹配
This is a test
不匹配
<href = | <br>| That's it
正则表达式
<!--.*?-->
匹配
<!-- <h1>this text has been removed</h1>-->| <!-- yada -->
不匹配
<h1>this text has not been removed</h1>
正则表达式
(\[(\w+)\s*(([\w]*)=('|")?([a-zA-Z0-9|:|\/|=|-|.|\?|&]*)(\5)?)*\])([a-zA-Z0-9|:|\/|=|-|.|\?|&|\s]+)(\[\/\2\])
匹配
[link url="http://www.domain.com/file.extension?getvar=value&secondvar=value"]Link[/li
不匹配
[a]whatever[/b] | [a var1=something var2=somethingelse]whatever[/a] | [a]whatever[a]
正则表达式
href=[\"\'](http:\/\/|\.\/|\/)?\w+(\.\w+)*(\/\w+(\.\w+)?)*(\/|\?\w*=\w*(&\w*=\w*)*)?[\"\']
匹配
href="www.yahoo.com" | href="http://localhost/blah/" | href="eek"
不匹配
href="" | href=eek | href="bad example"
正则表达式
"([^"](?:\\.|[^\\"]*)*)"
匹配
"This is a \"string\"."
不匹配
"This is a \"string\".
正则表达式
(?i:on(blur|c(hange|lick)|dblclick|focus|keypress|(key|mouse)(down|up)|(un)?load|mouse(move|o(ut|ver))|reset|s(elect|ubmit)))
匹配
onclick | onsubmit | onmouseover
不匹配
click | onandon | mickeymouse
正则表达式
(?s)/\*.*\*/
匹配
/* .................... */ | /* imagine lots of lines here */
不匹配
*/ malformed opening tag */ | /* malformed closing tag /*
正则表达式
<(\S*?) [^>]*>.*?</\1>|<.*? />
匹配
<html>hello</html>|<a>abcd</a>
不匹配
abc|123|<html>ddd
正则表达式
\xA9
匹配
©
不匹配
anything
正则表达式
src[^>]*[^/].(?:jpg|bmp|gif)(?:\"|\')
匹配
src="../images/image.jpg" | src="http://domain.com/images/image.jpg" | src='d:\w
不匹配
src="../images/image.tif" | src="cid:value"
正则表达式
/\*[\d\D]*?\*/
匹配
/* my comment */ | /* my multiline comment */ | /* my nested comment */
不匹配
*/ anything here /* | anything between 2 seperate comments | \* *\
正则表达式
<[a-zA-Z]+(\s+[a-zA-Z]+\s*=\s*("([^"]*)"|'([^']*)'))*\s*/>
匹配
<img src="test.gif"/>
不匹配
<img src="test.gif">| <img src="test.gif"a/>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)