用RegFind從命令行快速操作注冊表
更新時間:2006年10月23日 00:00:00 作者:
每一個熟悉Windows的人都相信,通過注冊表幾乎可以做到任何事情,真正的問題是怎樣迅速找到正確的注冊鍵。 絕大多數(shù)情形下,操作注冊表意味著找到某個特定的子鍵;偶爾地,可能需要修改一下子鍵的名稱(例如,可能要進行結(jié)構(gòu)上的改動)。那么,怎樣才能迅速找到正確的子鍵并執(zhí)行修改?另外,如果你不僅要改動本地機器的注冊表,而且還要對遠程機器作同樣的修改,該怎么辦?本文告訴你一個好工具Regfind。Regfind可以從Windows 2000 Server的Resource Kit Supplement One找到,或者從網(wǎng)上下載。Regfind適用于Windows的各個版本,包括Windows 9x系列。 Regfind是一個命令行工具。不帶任何選項執(zhí)行Regfind,它將顯示出幫助信息。最簡單的用法是執(zhí)行查找,例如執(zhí)行Regfind "QQ",Regfind將找出所有包含字符串“QQ”的注冊鍵,如圖一所示。

圖一 除了單純的查找之外,Regfind還能夠執(zhí)行替換:只需在圖一的命令后加上-r選項和一個替換字符串即可。例如,假設你公司的名稱從AGroup改成了BGroup,現(xiàn)在你想要對注冊表中所有的產(chǎn)品注冊信息作相應的改動,只需執(zhí)行:Regfind "AGroup" -r "BGroup"。注意,如果搜索字符串包含空格或標點符號,字符串應該用引號包圍。 如果要對一臺遠程機器作相應的改動,只需在前面的命令后加上-m選項并指定遠程機器的UNC(Universal Naming Convention,通用命名協(xié)定)路徑,例如:Regfind -m\\server03 "AGroup" -r "BGroup"。 搜索整個注冊表無疑是一件相當耗費時間的事情。為了提高效率,你可以將Regfind的搜索操作限制到某個注冊表的分支或子鍵,只需要在-p選項后面指定要搜索的注冊表位置即可。例如,假設要把搜索“AGroup”的操作限制在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft子鍵,并把該子鍵下的AGroup替換成BGroup,執(zhí)行:Regfind "AGroup" -r "BGroup" -p "HKEY_LOCAL_MACHINESOFTWARE\Microsoft"。 通過上面的說明可以看出,Regfind是一個很方便的工具,但白璧有瑕,有時候你仍會感到它不能滿足要求。首先,Regfind不支持通配符,也不支持正則表達式——而這兩者對于執(zhí)行復雜搜索是非常有用的。唯一一個給搜索操作增加靈活性的選項是-y。-y選項使得Regfind的搜索操作對大小寫不敏感,即如果你執(zhí)行Regfind AGroup -y,則Regfind的搜索結(jié)果中將包含AGroup、aGroup以及其他字母大小寫的組合(如果沒有-y選項,Regfind默認對大小寫敏感,但Regfind的命令選項對大小寫不敏感,例如你可以隨意使用-R或-r)。 第二,如果用Regfind執(zhí)行搜索/替換操作,它將替換所有找到的字符串,你不能要求Regfind只替換其中一個字符串。勉強可算是補救策略的方法是:將搜索操作限制在某個特定的注冊表分支。因此,我的建議是:首先用Regfind找出所有匹配的注冊子鍵,然后用Regfind執(zhí)行全局替換或手工修改某個特定的子鍵。 第三,如果你想要修改數(shù)值型數(shù)據(jù),Regfind似乎算不上最佳幫手。這是因為,許多要處理的REG_DWORD值不是0就是1,而0和1在注冊表中出現(xiàn)的機會實在太頻繁了,很可能出現(xiàn)誤替換的情形。解決問題的唯一辦法就是盡可能精確地限定Regfind的搜索范圍。
相關(guān)文章
Windows api關(guān)于注冊表的操作經(jīng)驗和總結(jié)
這篇文章主要介紹了Windows api關(guān)于注冊表的操作經(jīng)驗和總結(jié),本文講解了讀取注冊表常用的函數(shù)以及一個注冊表操作實例,需要的朋友可以參考下2015-06-06教你玩轉(zhuǎn)Win XP注冊表之性能優(yōu)化
教你玩轉(zhuǎn)Win XP注冊表之性能優(yōu)化...2006-10-10