layout: post
title: Everything工具使用
categories: CommonTools
description: Everything工具使用
keywords:
url: https://lichao890427.github.io/ https://github.com/lichao890427/
??Everything是一款免費(fèi)快速的文件搜索引擎,用于快速搜索特定名稱(chēng)的文件和文件夾,在你輸入以后,瞬間會(huì)找到并顯示匹配列表,是超越win自帶搜索幾光年的神器。它的特點(diǎn)是:安裝文件體積小,用戶(hù)界面簡(jiǎn)潔,快速文件索引及搜索,實(shí)時(shí)捕獲文件系統(tǒng)改變,支持正則表達(dá)式,系統(tǒng)資源消耗低,自動(dòng)版本檢測(cè)及更新,還可以通過(guò)http ftp etp共享文件。支持windows 2000,xp, 2003, vista, 2008, windows 7, windows 8。官網(wǎng)www.voidtools.com 現(xiàn)在的版本是1.3,支持64位系統(tǒng),官網(wǎng)有他的命令行程序和用于第三方開(kāi)發(fā)的api。目前Everything還不能搜索文件內(nèi)容。
??安裝everything,第一次使用時(shí)會(huì)建立數(shù)據(jù)庫(kù),每次啟動(dòng)時(shí)會(huì)檢查文件系統(tǒng)有沒(méi)有改變,首先為了方便使用,對(duì)everything作如下配置:
??工具->選項(xiàng) 打開(kāi)Everything選項(xiàng)卡,常規(guī)中選擇語(yǔ)言,必要的時(shí)候會(huì)提示下載語(yǔ)言包。下面選擇“集成到資源管理器”
??常規(guī)->界面 選中“允許多個(gè)窗口”和“從系統(tǒng)托盤(pán)圖標(biāo)創(chuàng)建窗口”
????索引 數(shù)據(jù)庫(kù)路徑選擇一個(gè)路徑,比如C:\Users\Administrator
????接下來(lái),對(duì)每個(gè)磁盤(pán)做如下操作:
??快捷鍵:ctrl+s 保存列表結(jié)果
??在欄目上右鍵可以選擇屬性,單擊排序
??先介紹搜索專(zhuān)用的特殊字符,這些字符大多是文件名中不能出現(xiàn)的特殊字符。
符號(hào) | 解釋 | 例子 | 解釋 |
---|---|---|---|
空格 | 邏輯與 | li chao | 文件(夾)名中既含li又含chao |
邏輯或 | 1.txt | 2.txt | 文件名含1或2的txt文件 | |
! | 邏輯非 | *.txt !b | 文件名不含b的txt文件 |
< > | 提高優(yōu)先級(jí),類(lèi)似于數(shù)學(xué)的() | file:<1 | 2 > | 文件名含1或2的文件(夾)(參見(jiàn)file:) |
"" | 特殊字符串 | "foo bar" | 如果沒(méi)有""會(huì)認(rèn)為是邏輯與 |
通配符:
* 匹配0-∞個(gè)任意字符
a*.txt 匹配形如”ab.txt” “abbb.txt”
? 匹配1個(gè)任意字符
a??.txt 匹配形如”abc.txt” “aaa.txt”
修飾符:
case: 匹配大小寫(xiě)
file:只匹配文件
folder:只匹配文件夾
path:匹配路徑和文件名
regex:正則表達(dá)式
ww: wholeword:全字匹配
函數(shù):
attrib:<屬性> 搜索特定屬性的目標(biāo) *.txt attrib:a所有存檔屬性的txt文件
attributes:<屬性> 同上
datecreated:<date> 搜索特定創(chuàng)建日期的目標(biāo)
*.txt datecreated:lastyear 去年創(chuàng)建的txt文件
*.txt datecreated:2010-2012
datemodified:<date> 搜索特定修改日期的目標(biāo)
dc:<date> 搜索特定創(chuàng)建日期的目標(biāo)
dm:<date>搜索特定修改日期的目標(biāo)
dupe: 搜索重復(fù)目標(biāo)
empty: 搜索空文件夾
ext:<list> 搜索指定后綴的目標(biāo) 用分號(hào)分隔
file:<ext:bmp;txt> bmp和txt文件
len:<length> 篩選出特定長(zhǎng)度的目標(biāo)名
*.txt len:5-10 文件名長(zhǎng)5至10的txt文件
parents:<count> Search for files and folders with the specified number of parent folders.
size:<size> 搜索特定大小的文件
*.txt size:large 1MB-16 MB的txt文件
*.txt size:7mb-8mb
函數(shù)語(yǔ)法:
function:value | 等于value | function:<=value | 小于等于value |
---|---|---|---|
function:<value | 小于value | function:=value | 等于value |
function:>value | 大于value | function:>=value | 大于或等于value |
function:start..end | 范圍start到end | function:start-end | 范圍start到end |
大小語(yǔ)法:
??size[kb|mb|gb]
大小常數(shù):
empty | 0KB | tiny | 0-10 KB |
---|---|---|---|
small | 10-100 KB | medium | 100KB-1 MB |
large | 1MB-16 MB | gigantic | 16MB-128 MB |
日期常數(shù):
??Today yesterday <last|past|prev|current|this ><week|month|year>
屬性常數(shù):
??R 只讀文件 H 隱藏文件 S 系統(tǒng)文件 D 文件夾 A 存檔文件 N 普通文件
正則表達(dá)式:(覺(jué)得難的跳過(guò),高級(jí)話(huà)題,這里簡(jiǎn)單介紹)
??開(kāi)啟正則表達(dá)式:Everything選項(xiàng)卡->常規(guī)->Home Match regex:選擇Enabled,新開(kāi)窗口就可以使用正則表達(dá)式了。
??一般匹配搜索有三種方式:
常規(guī)搜索:你輸入什么搜索什么
通配符:使用* ?等符號(hào)
正則表達(dá)式:最復(fù)雜也最萬(wàn)能的搜索匹配法
注意,正則表達(dá)式內(nèi)部不能出現(xiàn)多余空格
目標(biāo) | 語(yǔ)法 |
---|---|
找到所有c:\windows目錄及其下任意子目錄的txt文件 | c:\windows*.txt |
找出所有bmp和jpg文件 | *.bmp | *.jpg |
找出所有名為download文件夾下的所有avi文件 | download\ .avi |
找出所有名字中含.tx的文件夾 | folder:.tx |
搜索空txt文件 | *.txt file:size:0 |
搜索所有大于1MB的常見(jiàn)圖像文件 | <.bmp|.jpg|.png|.tga> size:>1mb |
找到所有c:\windows目錄下的txt文件 | regex:c:\windows\[^]*.txt |
列出所有c:\windows的N級(jí)子目錄 | regex:c:\windows\[]*(\[]*){N}$ |
列出所有c:\windows的N級(jí)子目錄下的txt文件 | regex:c:\windows\[]*(\[]*){N}.txt$ |
查找所有全字匹配1.txt的文件 | ww:1.txt |
查找wi開(kāi)頭的h文件和cpp文件 | file:<wi.h|wi.cpp> or wi* <ext:h|cpp> |
XXX第N集.rmvb”,XXX是電視劇名,N是數(shù)字 | regex:.*第[0-9]+集 |
連續(xù)的RAR壓縮包 XXXX.partN.rar,XXXX是壓縮包名,N是數(shù)字 | regex:.*part[0-9]+.rar |
連續(xù)的ZIP壓縮包 XXXX.zN | regex:.*.z[0-9]+ |
搜索所有純中文目標(biāo) | regex:[0-9a-z]*$ |
搜索帶中文字符的目標(biāo) | regex:.*[!-~]+.*$ |
??Everything的命令行選項(xiàng):everything提供的命令提供了更多選項(xiàng),用于配置設(shè)置和搜索,窗口的功能大部分都可以通過(guò)命令實(shí)現(xiàn),此外還提供編輯搜索列表、全屏顯示結(jié)果、調(diào)試everything、設(shè)置數(shù)據(jù)庫(kù)等很多小功能。
??命令行界面的everything:如前所述,官網(wǎng)提供了命令行界面的everything,直接下載就可以用。由于該軟件強(qiáng)大的搜索功能,因此用于二次開(kāi)發(fā)也不為過(guò)(這就是下面要說(shuō)的Everything-SDK.zip),官網(wǎng)也提供了該程序源碼,解壓后是個(gè)es-src文件夾,我采用vc6編譯之,為了成功編譯,需要建立一個(gè)控制臺(tái)程序,然后在everything_ipc.h里定義typedef unsigned long ULONG_PTR;,之后把工程改成UNICODE的,就成功了。順便看了他的實(shí)現(xiàn)代碼,它是通過(guò)命令行接受用戶(hù)的搜索字符串,通過(guò)發(fā)送一個(gè)WM_COPYDATA消息吧這些數(shù)據(jù)發(fā)給后臺(tái)everything.exe處理,處理完成后會(huì)發(fā)送回WM_COPYDATA消息給命令行程序,命令行接收搜索結(jié)果并顯示。
??Everything-sdk則是一個(gè)更加專(zhuān)業(yè)的接口可以用c/c++調(diào)用,源碼提供了封裝成dll調(diào)用的方法。和命令行界面的everything相比,這個(gè)代碼更加專(zhuān)業(yè)、安全、穩(wěn)定,除了WM_COPYDATA它還提供了第二種方法實(shí)現(xiàn)進(jìn)程通信,那就是在后臺(tái)創(chuàng)建一個(gè)everything線程,傳遞參數(shù),目標(biāo)程序會(huì)發(fā)送WM_COPYDATA回來(lái),這樣就可以接收到搜索結(jié)果。
??注意:上述幾種方式都要求后臺(tái)everything程序在運(yùn)行且數(shù)據(jù)庫(kù)處理完畢。
??有人說(shuō)了,everything是很強(qiáng)大,那么搜索文件內(nèi)容怎么辦呢,我推薦你使用notepad++,同樣,這也是一款神器,支持正則表達(dá)式,不支持通配符。他的文件查找有一項(xiàng)“文件查找“可以指定單個(gè)目錄,篩選特定文件類(lèi)型的文件進(jìn)行內(nèi)容查找。曾經(jīng)有人讓我找所有形如EGDI的單詞,我下了一個(gè)牛津高階詞典,然后使用正則表達(dá)式:[a-z]e[a-z]g[a-z]d[a-z]i[a-z]
??然后就開(kāi)始搜索吧,enjoy it!!!
作者:超哥__
鏈接:https://www.jianshu.com/p/51534f6ecf48
聯(lián)系客服