首页 > 代码库 > 解决xp搜索“文件中的一个字或者词组”失效

解决xp搜索“文件中的一个字或者词组”失效

问:我的电脑安装的是Windows XP系统,最近它的文件搜索功能不能用了,打开搜索界面时,输入文件或文件夹名的文本框是灰色的,无法输入。请问该怎么解决?

答:打开注册表编辑器,定位到[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState],新建字符串值“Use Search Asst”,设值为“no”。查看C:\Windows\System32\下的Shell32.dll文件语言版本,中文(0804)、英文(0600)等,将C:\Windows\Srchasst\mui\下原为0804或0409等的目录名改为与Shell32.dll语言版本相同的数字。现在打开搜索助理,是不是可以用了?

XP不能搜索文件中的某一字符吗? 
例如:c:\sql 目录下,有20个.sql的文件,我要查找其中文件包含“student”这个字符的文件,可是在XP中,我怎么都找不到我要的结果,2K却没有这样的问题。 
有知道这种问题的XDJM吗?救救我吧,因为这个功能还是很重要的,比如找个语法什么的。 
.....................................................................................
XP系统的搜索功能,搜索包含某个字符的文件时, 为“提高效率”,取消了对所有文件类型中字符的搜索支持, 只有部分文件类型中的字符可以被搜索。 
尽管309447补丁或SP1里增加了对很多文件类型中字符的搜索支持, (http://support.microsoft.com/?id=309447) 但还是有些文件类型(比如difficult提及的java文件)不能被搜索。 

Using the "A Word or Phrase in the File" Search Criterion 
May Not Work 
http://support.microsoft.com/?id=309173 

简单的总结一下里面提及的两个方法,供参考: 

方法一:如果某个文件类型不支持搜索其中的字符,可以将下述复制到记事本文件(不包括横线), 编辑后另存为reg类型文件
--------------------------------------- 
Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\.***\PersistentHandler] 
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}" 

--------------------------------------- 
其中,***代表文件的扩展名,需要修改(编辑)成相应的文件扩展名。 
编辑后另存为reg类型文件,(文件名称随便取), 双击此文件,导入注册表即可搜索相应扩展名文件中包含的字符。 

方法二:运行regedit,编辑注册表 
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\ContentIndex 
右侧FilterFilesWithUnknownExtensions子键(REG_DEWORD类型)的键值改为1 

出处:http://hdragon.blog.163.com/blog/static/3121911120126494132263/

==================================================================

如果你使用过Windows XP的搜索功能在一大堆文件中查找含有指定字符(字或词组)的文件,你会发现系统查询了半天,最后可能什么都没有找到,而这个功能在Windows 2000中搜索却能正常,你可以这样尝试一下:

运行regedit,打开注册表,找到以下主键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex
将右侧FilterFilesWithUnknownExtensions(REG_DEWORD类型)的键值改为1。

另外,如果你习惯Windows2000及以前版本的搜索方式,对XP的搜索助手与分类别搜索等方式不习惯,可以通过修改搜索设置找回你熟悉的搜索模式,方法如下:

搜索里有个“改变首选项”--> 将“改变文件和文件夹搜索行为”设置为“高级”即可。

出处:http://www.bekda.com/share/vshare.asp?sid=16

解决xp搜索“文件中的一个字或者词组”失效