1. 程式人生 > >Everything使用指南

Everything使用指南

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

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 下載與安裝

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視窗的關閉按鈕後,它只是縮小為托盤圖示,並沒有真正關閉,所以,要右鍵退出。

三、Everything搜尋技巧

3.1 高效搜尋之“與”“或”

技巧:在Everything的搜尋框中可以輸入多個關鍵詞,以空格分開,表示搜尋結果要包括全部關鍵詞。大家肯定對這種做法不會陌生,因為它正是搜尋引擎的慣例。

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

技巧:對應“與”的還有“或”(OR)運算,用半形豎線表示:|。當你不確信關鍵詞的準確描述時,這種方式非常有用。

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

引伸:既然空格表示“與”,那麼如何表示真正的空格呢?很簡單,加英文半形引號,比如”program files”。

3.2 正則表示式

Everything支援正則表示式,或者說,支援一些簡單的正則表示式。但對大多數使用者而言,這已經足夠了!Everything支援的正則表示式有:
| () ? * + . [] [^] ^ $ {m,n}

詳見官方FAQ(英文中文翻譯)。鳴謝朱晨剛、rex

【轉載】在使用之前,確保已經開啟正則表示式選項(選單Search → Enable Regex)
  • | 豎線表示或。例如: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”)
Everything context menu

- 與上一方法相同,只是不用右擊目錄,而是直接輸入帶引號的目錄名,再輸入搜尋關鍵詞。需要注意的是:目錄名一定是完整路徑,且用半形雙引號括起來,不能選中“使用正則表示式”。

- 還有一種方法,使用起來要頭腦更清楚才行。比如,設定“匹配路徑”後,輸入 files/ .exe,看看搜到了什麼結果,想想這是為什麼。

3.4 網路分享

Everything內建了HTTP、ETP/FTP伺服器。這意味著,你可以用它當作簡單的伺服器來用。何況,它的HTTP分享,仍然提供了強大的搜尋功能。

HTTP分享:點選選單“工具”-“HTTP伺服器”後,就可以在瀏覽器訪問 http://localhost 或輸入本機IP進行訪問了。在HTTP中,它的搜尋功能一樣強大。因此,你可以把它加入Firefox等瀏覽器的自定義搜尋中,更加方便的進行搜尋。(可以在Everything Option的Http Tab上進行相關設定)
[Everything HTTP伺服器]
[Everything HTTP搜尋]

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的整合方法

這次更新不僅僅是語言包,更重要的是可以支援其他檔案管理器,已經可以和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)
[image][image]

問題2:
  以管理員身份執行Everything後,在搜尋結果中雙擊exe執行其他程式,會繼承管理員許可權。如何避免?
答:
  暫無辦法。

問題3:
  Win7下面不能自啟動的問題。
答:
  不太瞭解,歡迎其他網友補充。

六、結論

如果你經常需要按照檔名進行快速搜尋,並且磁碟用了NTFS檔案系統,則Everything是首薦工具。如果你需要遠端搜尋其他計算機上的檔案,那麼Everything的伺服器共享功能更為適合。總之,這款不到1MB的搜尋利器,很值得收藏試用。