Win2K"秘密武器"之登錄檔控制檯工具(轉)

gugu99發表於2007-08-12
Win2K"秘密武器"之登錄檔控制檯工具(轉)[@more@]

  在Win95或Win98中對登錄檔的修改一般用登錄檔編輯器Regedit,CW2kP中也仍保留有這個編輯器,屬於GUI介面的版本,這大家都比較熟悉.Support Tools中的登錄檔控制檯工具則是完全的命令列形式。和所有命令列工具的缺點一樣,命令和引數或開關都是以字元表示,數量也較多,遠不如GUI介面省心.話說回來,Reg.EXE除了在靈活性上較登錄檔編輯器高出一籌外,由於命令列執行僅佔據極低的系統資源,所以在GUI介面根本不能執行的情況下,這是修復登錄檔的唯一之路。

  命令列介面的登錄檔控制檯工具允許你以命令列或批處理檔案的形式對整個登錄檔進行加入、改動、刪除、搜尋與恢復,而且這種操作既適用於本地、也適用於遠端計算機。登錄檔的內容控制著整個系統的執行,所以修改必須非常慎重,修改之前一定作好備份,雖是老生常談的一句交待,但也確實是至理之言. Reg.exe包含最近更新的支援工具,如果你使用的是很早的批處理檔案,應檢查一下相關的內容和語法,以確保在更新後的 Reg.exe工具中能順利地使用。

  登錄檔控制檯工具的命令較多,基本上是每一個功能使用一個命令,而且每個命令還可以選擇若干開關引數。正式討論之前,先對於登錄檔中的鍵名和鍵值,作以下必要的解釋:鍵可以分根鍵(主鍵)和子鍵;子鍵可以有鍵名也可以沒有鍵名;每個鍵可能有鍵值,也可能沒有鍵值;所以會造成有些鍵既無鍵名也無鍵值,即使如此,這個鍵仍然是存在的.僅不過鍵名是預設的,沒有鍵值時,用登錄檔編輯器可以看到"未設定數值"的提示,這些規律在使用登錄檔編輯器的時候一望便知.鍵名用Keyname表示,下文中的Keyname既包括根鍵也包括子鍵。

  下面就給大家詳細介紹一下命令和其引數的詳細用法:

  REG.EXE語法介紹如下:(由於各個命令的文件結構類似,所以第一個命令介紹得最詳細,往下凡相似或相同的地方不再重複列出,僅提示:與上面一樣)

  1. REG ADD

  用該命令加入一個新的指定鍵值,從給出的例子檔案來看,基本的使用方法如下:

  命令-計算機名稱-根鍵名-[子鍵名稱-型別-資料]下面是更詳細、規範的表述:

  REG ADD [Machine]Keyname [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

  引數及說明:

  Machine :

  計算機名稱,此處關於計算機名稱的介紹,其它命令也將使用,請注意.以Machine指定遠端計算機名稱,如果省略,預設值是使用當前的本地計算機,不能使用驅動器名來指定遠端計算機名.計算機名稱前面的雙反斜槓符號不能省去.如:MYDIAC 就是一個正確的範例.

  Keyname :鍵名,此處關於鍵名的解釋,其它命令也將使用,請注意.

  格式:[Rootkey]Key

  Rootkey 是根鍵

  根鍵可以使用以下形式的簡寫:

  根鍵名

  簡寫形式

  HKEY_LOCAL_MACHINE

  HKLM

  HKEY_CURRENT_USER

  HKCU

  HKEY_CLASSES_ROOT

  HKCR

  HKEY_CURRENT_CONFIGURATION

  HKCC

  注意: HKLM 和 HKCU 鍵值僅適用與遠端計算機。

  Key :子鍵

  所選根鍵之下的子鍵的完整名字

  /v Valuename

  向指定登錄檔加入新鍵值的名稱,如果包含有空格,則字串應使用引號

  /ve

  加入的空鍵值名

  /t type

  指定使用的數字或字串的型別,這些型別與win9x相同,這裡不再詳細介紹.

  /s Separator

  指定登錄檔使用的資料字串的分隔字元,例如使用REG_MULTI_SZ型別時.預設情況下就 "o" 作為分隔字元。

  /f

  允許覆蓋現存的登錄檔

  /d Data

  向登錄檔中的指定鍵以指定資料賦於鍵值

  2. REG COMPARE

  將當前(本地計算機)的登錄檔與另外一個登錄檔或另外一個遠端計算機上的登錄檔進行比較.將比較結果輸出到一個檔案上.

  REG COMPARE [Machine]Keyname1 [Machine]Keyname2 [/v ValueName] | /ve] [/s] [Output]

  引數及說明:

  Machine :

  指定的計算機名稱.含義與上面一樣

  Keyname1, Keyname2:

  登錄檔的鍵名,含義及格式與上面一樣

  /V Valuename:

  進行比較的鍵值的名稱,如果包含有空格,則字串應使用引號

  /VE, /ve

  比較預設(無鍵名的)鍵值

  /S, /s :

  比較所有子鍵

  Output 輸出

  以下列形式的開關引數控制輸出結果:

  /OA,/oa:輸出全部的不同部分與相同部分

  /OD,/od:僅輸出不同部分; /OS,/os:僅輸出相同部分

  /ON,/on沒有任何輸出

  返回程式碼的含義:

  0:成功地進行了比較,比較的結果是二者相同

  1:比較過程失敗;  2-成功地進行了比較,比較的結果是二者不相同

  3.REG COPY

  將當前的登錄檔或遠端計算機上的登錄檔複製到一個新的位置(或計算機上)。

  REG COPY [Machine]SourceKey [Machine]DestinationKey [/s] [/f]

  引數及說明:

  Machine :

  指定的計算機名稱.含義與上面一樣

  SourceKey 和 DestinationKey:

  "源"鍵和"目的"鍵:登錄檔的鍵名稱,含義及格式與上面一樣

  /s :

  複製全部子鍵及鍵值

  /f

  強制複製

  舉例:

  甲例子:REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp

  這裡MyApp和 SaveMyApp 是不同登錄檔中的子鍵名,都在鍵名為 MyCo的鍵之下.執行結果是將MyApp複製向 SaveMyApp中。

  乙例子: REG COPY SAFARIHKLMSoftwareMyCo ODIACHKLMSoftwareMyCo

  這裡的ZODIAC和SAFARI是計算機名,MyCo 是兩臺機器的登錄檔中都有的鍵名,執行結果是SAFARI機器的鍵值被拷向ZODIAC.它與上面一個的主要區別是:1.兩臺機器都是遠端計算機.2.所複製的是該鍵之下的全部內容而不是某一項.

  丙例子: REG COPY ODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1

  作用與上面類似,但ZODIAC是遠端計算機,而HKLM是本地當前所用計算機.

  4.REG DELETE

  刪除一個登錄檔、登錄檔鍵值或子鍵值.

  REG DELETE [Machine]Keyname [/v ValueName | /ve | /va] [/f]

  引數及說明:

  Machine :指定的計算機名稱.含義與上面一樣

  Keyname :登錄檔的鍵名稱,含義及格式與上面相同

  /v Valuename :

  指定刪除的鍵值的名稱,如果包含有空格,則字串應使用引號

  /va :刪除該鍵之下的所有鍵值

  /ve : 刪除無鍵名的值

  /f : 強制刪除

  5.REG EXPORT

  將登錄檔匯出到一個檔案上.僅適用於在本地計算機匯出。

  REG EXPORT Keyname Filename [/nt4]

  引數及說明:

  Keyname :登錄檔的鍵名稱,含義及格式與上面相同

  FileName :匯出的登錄檔檔名

  /nt4 以windowsNT4.0的登錄檔格式匯出

  6.REG IMPORT

  將(備份的)一個登錄檔檔案匯入到計算機中.僅適用於在本地計算機。

  REG IMPORT FileName

  引數及說明:

  FileName :準備匯入的登錄檔檔名

  7.REG LOAD

  從備份的登錄檔中臨時裝入一個指定的鍵值,這種操作類似於使用登錄檔編輯器匯入某一個鍵值。

  REG LOAD [Machine] KeyName FileName

  引數及說明:

  Machine 計算機名,引數含義與上面相同。

  Keyname:臨時裝入的鍵名稱,但含義及格式與上面相同

  Key:指定的鍵名,這個鍵名是指定檔案中所選擇的根鍵或其以下的鍵值的集合,這個臨時裝入的鍵或其集合將在下次啟動時刪除,也可以用REG UNLOAD命令刪除。

  FileName :指定的檔名。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-948504/,如需轉載,請註明出處,否則將追究法律責任。

相關文章