[Everything:速度最快的文件名搜索工具] ( http://xbeta.info/everything-search-tool.htm)
Everything(官网|中文主页|教程)是速度最快的文件名搜索软件。其速度之快令人震惊,百G硬盘几十万个文件,可以在几秒钟之内完成索引;文件名搜索瞬间呈现结果。它小巧免费,支持中文,支持正则表达式,可以通过HTTP或FTP分享搜索结果。如果不满意Windows自带的搜索工具、Total Commander的搜索、Google 桌面搜索或百度硬盘搜索,如果正在使用或放弃了Locate32,都值得推荐这款体积小巧、免安装、免费、速度极快(比Locate32更快)的文件搜索工具Everything!
二、初级教程:Everything的基本用法
2.1 下载与安装
2.2 首次运行
2.3 基本搜索
2.4 切换为中文界面
三、Everything搜索技巧
3.1 高效搜索之“与”“或”
3.2 正则表达式
3.3 指定搜索范围
3.4 网络分享
3.4 网络分享
四、Everything与其他程序集成
Everything与Total Commander集成 更新
Everything代替Windows默认搜索
Everything与Firefox集成
五、其他补充
Everything的速度
Everything资源占用
Everything数据库更新
Everything与windows管理员权限问题 更新
六、结论
一、Everything简介 ↗
Everything是voidtools(中文主页)开发的一款文件搜索工具,官网描述为“基于名称实时定位文件和目录(Locate files and folders by name instantly)”。它体积小巧,界面简洁易用,快速建立索引,快速搜索,同时占用极低的系统资源,实时跟踪文件变化,并且还可以通过http或ftp形式分享搜索。
注意:
- 只搜索文件名,不能搜索文件内容;
- 只适用NTFS文件系统,不适合FAT32;
- 完美支持中文(自V1.2.x开始)。
二、初级教程:Everything的基本用法 ↗
2.1 下载与安装
下载链接:
官方下载页 (无论下载Everything还是其他任何软件,都推荐到官方网站)
版本选择:
普通用户推荐稳定版:Everything-1.2.1.371.exe 安装包 (334 KB) 或Everything-1.2.1.371.zip 便携版 (272 KB)
高级用户可下载最新测试版:http://www.voidtools.com/Everything-1.2.1.451a.zip
安装或解压Everything,即可开始使用。
2.2 首次运行 ↗
Everything在第一次运行时,会建立索引数据库。但你丝毫不用担心,其速度极快,生成的索引文件极小!看看本文下面的回复,你会充满信心。亲身体验之后,你或者也会为其速度震惊。或者,你根本没感觉到它需要建立索引。
索引之后,简洁的程序界面呈现在你的面前,程序状态栏中还会显示索引的文件数量。看到这个数字,你是否惊奇Everything的神速呢?
2.3 基本搜索 ↗
尽管Everything还处在英文界面,但这并不影响你的基本使用。只须在搜索框中,输入几个字母或汉字,搜索结果就会实时呈现在你的眼前。然后,可以直接双击某条结果,打开文件。也可以直接在结果中进行复制、删除等常见操作。
2.4 切换为中文界面 ↗
- 下载:xbeta简中语言包(链接)(推荐)或官方多语言包(链接);
- 解压:解压语言包内的Everything.lng到程序目录;
- 重启Everything(如果需要);
- 菜单:Tools→ Options→ General→ Language→ 简体中文。
说明1:官方多语言包 vs xbeta简中语言包
- 前者包括了简体中文在内的更多种语言;当然,体积更大。
- 前者的简体中文,也是来自xbeta的翻译;
- 据网友反映,前者存在默认识别为日文的bug,所以,推荐xbeta自行发布的简中语言包;
- 后者更新更加及时。
说明2:
切换语言后,需要重启Everything才能看到效果。而点击Everything窗口的关闭按钮后,它只是缩小为托盘图标,并没有真正关闭,所以,要右键退出。
3.1 高效搜索之“与”“或” ↗
技巧:在Everything的搜索框中可以输入多个关键词,以空格分开,表示搜索结果要包括全部关键词。大家肯定对这种做法不会陌生,因为它正是搜索引擎的惯例。
举例:键入(不包括引号,下同)“李白 北京 08 jpg”,可以快速找出某些照片。
技巧:对应“与”的还有“或”(OR)运算,用半角竖线表示:|。当你不确信关键词的准确描述时,这种方式非常有用。
举例:“jpg 李白|libai 北京 08”、“免费|freeware”……
引伸:既然空格表示“与”,那么如何表示真正的空格呢?很简单,加英文半角引号,比如”program files”。
3.2 正则表达式 ↗
Everything支持正则表达式,或者说,支持一些简单的正则表达式。但对大多数用户而言,这已经足够了!Everything支持的正则表达式有:
| () ? * + . [] [^] ^ $ {m,n}
- | 竖线表示或。例如:gray|grey 能够匹配 gray或grey(注:在|两侧没有空格)。
- () 小括号用于确定范围。例如:gr(a|e)表示在gr和y之间有一个字母a或e。gr(a|e)y将匹配gray或grey,与gray|grey意义相同。
- ? 问号表示其前一个字符可能出现,也有可能不出现。例如:colou?r将匹配color和colour。
- * 星号表示其前一个字符可能不出现,也可能出现一次或多次。例如:ab*c将匹配ac、abc、abbc、abbbc等等。
- + 加号表示其前一个字符出现一次或多次。例如:ab+c将匹配abc、abbc、abbbc等等,但不能匹配ac。
- .点号可用匹配任何单个非新行字符。(事实上,把哪个字符称之为新行却是不一定的,可能是编码特别或位置特别,但是可以肯定的是这个行中一定包含其他字符。)在POSIX括号表达式规则中,点号只匹配一个点。例如:a.c可以匹配abc等等字符,但是[a.c]只匹配a、.、或c。
- [ ] 中括号表示能够匹配其括号内出现的一个字符。例如:[abc]能够匹配a、b或c。[a-z]将能够匹配a到z之间的任意一个字符。[abcx-z]能够匹配a、b、c、x、y或z,其也可以表示成[a-cx-z]。
- [^ ] [^ ]表示可以匹配任何一个没有出现在其括号内的字符,与[ ]刚好相反。例如:[^abc]能够匹配任何一个不是a、b、c的字符。[^a-z]能够匹配任何一个非小写字母之外的字符。
- ^ 匹配名称开始的位置。在以行为基础的工具中,匹配任意行的开始位置。
- $ 匹配名称结束的位置,或者匹配字符串结尾新行的结束位置。在以行为基础的工具中,匹配任意行的结束位置。
- {m,n} {m,n}表示其前面的字符至少重复m次,但是重复次数少于n。例如:a{3,5}匹配aaa、aaaa以及aaaaa,但是不能匹配aa或aaaaaa。此表达规则在一些老的版本中不可用。
3.3 指定搜索范围 ↗
默认情况下,Everything索引、搜索所有本地NTFS磁盘的所有目录。但是你可以通过如下方式,限定搜索范围,以得到更易用的结果列表。
- 希望Everything永不索引某个磁盘,请在“选项”-“NTFS磁盘”中,选定相应盘符,取消“搜索本卷”或“包含在数据库中”。(注:可以取消前一项,这样后一项就自动变灰——但没发现这种做法与只取消后一项的差别。大家可以研究一下!)
- 希望永远排除某些目录,可以在“选项”-“排除列表”中设定。和上条方法一样,确认之后Everything会重新生成索引。
- 希望Everything只搜索某个目录,可以在资源管理器或Total Commander中,右击该目录,在弹出菜单上选“Search Everything…”。这时你会看到Everything的搜索框中,出现了带引号的目录名。(需要在Everything Options的General Tab上选中“Show shell context menu”)
- 与上一方法相同,只是不用右击目录,而是直接输入带引号的目录名,再输入搜索关键词。需要注意的是:目录名一定是完整路径,且用半角双引号括起来,不能选中“使用正则表达式”。
- 还有一种方法,使用起来要头脑更清楚才行。比如,设定“匹配路径”后,输入 files/ .exe,看看搜到了什么结果,想想这是为什么。
3.4 网络分享 ↗
Everything内置了HTTP、ETP/FTP服务器。这意味着,你可以用它当作简单的服务器来用。何况,它的HTTP分享,仍然提供了强大的搜索功能。
HTTP分享:点击菜单“工具”-“HTTP服务器”后,就可以在浏览器访问 http://localhost 或输入本机IP进行访问了。在HTTP中,它的搜索功能一样强大。因此,你可以把它加入Firefox等浏览器的自定义搜索中,更加方便的进行搜索。(可以在Everything Option的Http Tab上进行相关设置)
FTP功能类似,但不具备搜索功能。
相比而言,因为浏览器更为常用,并且支持搜索,默认的UTF-8编码识别率更高,所以推荐HTTP方式分享。无论是HTTP还是FTP,其端口、用户名、密码都是可以设定的。这样,你就可以在局域网内更放心的分享文件了。
除了与朋友分享之外,在文件服务器上运行Everything,然后用户就可以通过浏览器快速搜索了。这是一个很好的应用。
四、Everything与其他程序集成 ↗
Everything如此好用,所以很多网友探索了它与其他程序的集成方法,汇总如下。个人观点是,Everything与TC的集成具有很高实用性;另外几种集成可供参考和启发。
4.1 Everything与Total Commander集成 ↗
a. 双向集成的目标
所谓Everything与Total Commander集成,到底指什么?善用佳软的实际使用中,实现了如下双向集成:
① 从TC到Everything:在Total Commander中,按下ctrl+alt+f则打开Everything进行搜索;
② 从Everything到TC:在Everything搜索结果上,双击目录,或在文件上右键菜单“打开路径”,则Total Commander进入此目录。需要说明的是,目前TC只能打开该目录,但不能自动选中搜索结果。
b. 从TC到Everything的集成方法
依靠自己:“自己动手,丰衣足食”,虽然效率不一定高,但这是最可靠的方法,即利用Total Commander的标准功能调用Everything。其实现手段有多种,原理和视频操作可参见《TC学堂》中《第7讲: TC快捷无极限》中相关内容,比如“4. 外部程序化为TC扩展命令”。
依靠TC作者:最理想的方案当然是,TC作者针对Everything提供专门的、更优的集成方案。但是,坚持自己原则的Ghisler认为:尽管Everything效率极高,但由于NTFS格式限制,不具有通用性,所以,不会官方集成。
依靠雷锋叔叔:除了TC作者,你还会期望网络上某个热心人开发一款相应插件。果然,俄罗斯网友为TC开发了FSE插件。优点:可以把搜索结果输出到TC的窗口里面处理。缺点:目前仅支持ASCII字符,即不支持中文。(作者表示,将在 Locate 支持Unicode之后,修复此bug。)所以,最终结论是:中文用户暂不推荐。
c. 从Everything到TC的集成方法 ↗
以下内容由网友dracodoc于2008-11-18 1:17补充。Everything集成Total Commander
这次更新不仅仅是语言包,更重要的是可以支持其他文件管理器,已经可以和total commander集成了。Everything FAQ有介绍。
我的修改:
explore_folder_command=$exec(“%SystemRoot%explorer.exe” /n,/e,”%1″)
explore_folder_path_command=$exec(“%SystemRoot%explorer.exe” /n,/e,/select,”%1″)
open_folder_path_command=$exec(“d:appwincmdTOTALCMD.EXE” “$parent(%1)”)
open_file_command=$exec(“%1″)
open_folder_command=$exec(“d:appwincmdTOTALCMD.EXE” “%1″)explore部分不用变,保留第二种选择。需要在tc里设定只打开一个tc实例,我试过用tc命令行的/o参数来不打开第二个实例,但是everything不认。
现在双击找到的文件会打开,双击目录会激活tc跳到该目录(如果你想设定在左边,右边或者新建一个tab可以尝试加上tc的命令行参数,不一定能用),右键选择文件,open path会用tc打开文件所在目录。
再在tc里或者其他全局hotkey设定程序里设定everything的激活热键就可以了(我不喜欢一直开着,随用随启动并不慢)
需注意的是,上述功能只适用于v1.2.0.323b及以后版本,请检查你的程序,或下载最新beta版。低版本Everything无法识别上述ini内容,会强行删除。“在tc里设定只打开一个tc实例”的做法有2种。一是图形化操作(推荐):配置 → 操作方式 → 主程序 → 只允许一个TC运行。二是直接在wincmd.ini中的[Configuration]段增加一句 onlyonce=1,并重启TC。
4.2 Everything代替Windows默认搜索 ↗
Windows自带的搜索程序功能不错,但速度偏慢。如果你希望把“开始”菜单中的搜索替换为Everything(或其他搜索软件),可以用修改工具RerouteXPSearch进行设置。软件小巧,使用容易,LifeHacker、电脑玩物、小众软件先后都有介绍,此处从略。
4.3 Everything与Firefox集成 ↗
因为Everything自带了HTTP服务器功能——当然也拥有同样出色的搜索功能——因此,可以通过浏览器进行本地或网络计算机的搜索。当然,有一个前提:搜索目标机上Everything一直打开并且启用HTTP服务器。如果认为输入网址不方便,也可以集成的到浏览器的搜索框中。比如,Firefox可通过扩展Add to Search Bar加入到工具栏的搜索框引擎(可设定用户名/密码以保护安全),详见电脑玩物文章。
五、其他补充
5.1 everything的速度 ↗
Everything搜索工具的最大优点是速度。其速度不是快,是极快;用户不是满意,而是震惊。
第一个快速体现在索引速度。官网称,1分钟可索引100万个文件。笔者的NTFS文件系统共40G/近4万个文件,第一次启动时,根本没有感觉到建立索引需要时间。这种快速,是因为Everything的索引无需逐一扫描硬盘文件,而是直接读取NTFS文件系统的USN日志。这当然是既省力,又合理的做法。
第二个快速体现在搜索速度。在搜索框中键入字符后,搜索结果——或许称为过滤结果更准确——实时呈现。
总起来看,多篇测评和试用者认为,其速度超过了以前备受好评的Locate32。是否真有这么快?请各位读者反馈试用结果。目前收到的反馈都证明了这一点,对有些网友而言,速度已经快到令人震惊,甚至是愤怒了:凭什么可以这么快!
5.2 Everything资源占用 ↗
总起来讲,占用资源很少。
- 从安装(实际解压即可)来看,真正需要的只有一个主文件exe,约0.5MB。
- 索引数据库极小。笔者60G硬盘,索引文件0.7MB。
- 占用内存少,笔者使用为7MB。
5.3 Everything数据库更新 ↗
- 没有所谓更新频率的设定,因为更新是自动的。
- 每次重启Everything,都会自动更新;
- 每次设置Everything(比如设定排除列表)之后,都会自动更新;
- Everything运行时,会实时更新索引数据库。
5.4 Everything与windows管理员权限问题
问题1:非管理员用户,如何使用Everything?
Everything的运行需要管理员权限[1][2]。但有时出于安全考虑,不应该(或不能)以管理员身份登录Windows。如何解决这一冲突呢?
思路1:权限法:
“解铃还须系铃人”。如果认为此问题是windows的权限问题,则需要寻找通用的权限解决方案。比如:
- Windows系统具备的run as。
- 第3方软件,如 RunasSpc:方法;
- 第3方软件,如 CPAU:主页、方法。
思路2:服务法:
“解铃还须系铃人”。如果认为此问题是Everything的问题,则请到官方论坛搜索答案、向最新beta版寻求答案。论坛中提到:未来或许可以通过服务来解决。而v1.2.1.451a的更新说明中显示:此功能已具备(added service parameters option)。
下载v1.2.1.451a,关闭目前运行的Everything。稳妥起见,不妨也把其他db、xml、ini文件删除,即从零开始一个Everything程序。
然后,运行 d:\soft\everything\Everything.exe -install_service ,就会增加Everything对应的服务了。说明:我在WinXP下,试图以非管理员身份运行 d:\soft\everything\Everything.exe -install_service ,似乎未成功安装服务——请大家帮助再次确认。
(善用佳软于2010-03-25再次测试通过,WinXP SP2,Everything v1.2.1.451a)
问题2:
以管理员身份运行Everything后,在搜索结果中双击exe运行其他程序,会继承管理员权限。如何避免?
答:
暂无办法。
问题3:
Win7下面不能自启动的问题。
答:
不太了解,欢迎其他网友补充。
六、结论 ↗
如果你经常需要按照文件名进行快速搜索,并且磁盘用了NTFS文件系统,则Everything是首荐工具。如果你需要远程搜索其他计算机上的文件,那么Everything的服务器共享功能更为适合。总之,这款不到1MB的搜索利器,很值得收藏试用。