转自:http://xbeta.info/everything-search-tool.htm

Everything:速度最快的文件名搜索工具

Everything(官网|中文主页|教程)是速度最快的文件名搜索软件。其速度之快令人震惊,百G硬盘几十万个文件,可以在几秒钟之内完成索引;文件名搜索瞬间呈现结果。它小巧免费,支持中文,支持正则表达式,可以通过HTTP或FTP分享搜索结果。如果不满意Windows自带的搜索工具、Total Commander的搜索、Google 桌面搜索或百度硬盘搜索,如果正在使用或放弃了Locate32,都值得推荐这款体积小巧、免安装、免费、速度极快(比Locate32更快)的文件搜索工具Everything!

【相关链接】英文主页中文主页官方下载纯中文语言包

一、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窗口的关闭按钮后,它只是缩小为托盘图标,并没有真正关闭,所以,要右键退出。

2.5 视频演示 视频Flash演示:(Wink录制,500×320, 126KB)

三、Everything搜索技巧 3.1 高效搜索之“与”“或” 技巧:在Everything的搜索框中可以输入多个关键词,以空格分开,表示搜索结果要包括全部关键词。大家肯定对这种做法不会陌生,因为它正是搜索引擎的惯例。

举例:键入(不包括引号,下同)“李白 北京 08 jpg”,可以快速找出某些照片。

技巧:对应“与”的还有“或”(OR)运算,用半角竖线表示:|。当你不确信关键词的准确描述时,这种方式非常有用。

举例:“jpg 李白|libai 北京 08”、“免费|freeware”……

引伸:既然空格表示“与”,那么如何表示真正的空格呢?很简单,加英文半角引号,比如”program files”。

3.2 正则表达式 Everything支持正则表达式,或者说,支持一些简单的正则表达式。但对大多数用户而言,这已经足够了!Everything支持的正则表达式有:
| () ? * + . [] [^] ^ $ {m,n}

详见官方FAQ(英文中文翻译)。鸣谢朱晨刚、rex

3.3 指定搜索范围 默认情况下,Everything索引、搜索所有本地NTFS磁盘的所有目录。但是你可以通过如下方式,限定搜索范围,以得到更易用的结果列表。

– 希望Everything永不索引某个磁盘,请在“选项”-“NTFS磁盘”中,选定相应盘符,取消“搜索本卷”或“包含在数据库中”。(注:可以取消前一项,这样后一项就自动变灰——但没发现这种做法与只取消后一项的差别。大家可以研究一下!)

– 希望永远排除某些目录,可以在“选项”-“排除列表”中设定。和上条方法一样,确认之后Everything会重新生成索引。

– 希望Everything只搜索某个目录,可以在资源管理器或Total Commander中,右击该目录,在弹出菜单上选“Search Everything…”。这时你会看到Everything的搜索框中,出现了带引号的目录名。

– 与上一方法相同,只是不用右击目录,而是直接输入带引号的目录名,再输入搜索关键词。需要注意的是:目录名一定是完整路径,且用半角双引号括起来,不能选中“使用正则表达式”。

– 还有一种方法,使用起来要头脑更清楚才行。比如,设定“匹配路径”后,输入 files/ .exe,看看搜到了什么结果,想想这是为什么。

3.4 网络分享 Everything内置了HTTP、ETP/FTP服务器。这意味着,你可以用它当作简单的服务器来用。何况,它的HTTP分享,仍然提供了强大的搜索功能。

HTTP分享:点击菜单“工具”-“HTTP服务器”后,就可以在浏览器访问 http://localhost 或输入本机IP进行访问了。在HTTP中,它的搜索功能一样强大。因此,你可以把它加入Firefox等浏览器的自定义搜索中,更加方便的进行搜索。

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的搜索利器,很值得收藏试用。

附录 1. 一个好软件是如何被大众了解的? 我一直对此传播过程充满好奇。我看到的Everything传播是这样的:lifehacker于9月25日发文介绍;网友读过上文后于26日在DonationCoder论坛发文;10月25日左右我读了DC文章并访问官网、联系作者并于10月28日得到作者回复。然后,11月1日freewaregenius发表了Everything: small, lightning fast desktop search for NTFS drives,簡睿隨筆 《科技篇》读过上文后于11月2日写了用Everything在電光石火間找到迷失的檔案(新址)。于是,我也在翻译完成之前先发此文,以便合力宣传everything。
  
其他网友的介绍文章:
  * 電腦玩物:Everything 取代 Windows 內建搜尋,超快速檔案檢索工具
  * 小众软件:Everything – 快速飞快的文件搜索
  * 异次元世界:搜索速度快得让你震惊!极为优秀的免费文件搜索工具Everything中文绿色版下载

2. 补充两款水木社区网友原创的同类软件 cygwin的FileFinder,和bbinn的Winlocate2,这两位都是我很敬佩的高手。两款软件也是友好竞争的关系,都是小巧、免费的佳作。bbinn还有一款文件查重小软件FindDump,也在上面的贴子中。

3. 文章更新记录 2010-03-25:增加Everything运行时关于管理员权限问题。
2009-02-21:补充Everything与其他程序的集成;为本文增加目录。
2009-02-18:软件升级到Everything-1.2.1.358b,提供了新选项:搜索时指定排除目录及文件(支持通配符)。同步更新了 中文语言包
2009-02-12:v1.2beta发布,Everything 集成Total Commander,真好!
2009-02-09:补入其他网友的相关介绍链接
2008-11-17:语言包已由官方发布;善用佳软提供语言包txt文本,供有兴趣者参考和改进。
2008-11-10:更新语言包,更新本文30%内容;
2008-11-03:初稿