使用註冊表文件(REG)添加、修改或刪除Windows註冊表項和值

1. 簡介

  我們平時大多采用Regedit註冊表編輯器來實現對註冊表的修改操作,但是這種手工操作費時費力,當你要對多臺PC統一修改註冊表時,就要怨念了。並且在某些情況下,如果註冊表編輯器被禁用了,那麼這種方法也會失效。於是,推薦大家使用REG文件來快速完成註冊表的修改。

  REG文件實際上是一種註冊表腳本文件,Regedit註冊表編輯器可以使用REG文件來導入、導出註冊表的子項和值。雙擊REG文件(即用Regedit.exe 註冊表編輯器程序運行該文件)即可將其中的數據導入到註冊表中。我們可以使用REG文件直接對註冊表進行任何修改操作,且不受註冊表編輯器被禁用的限制。與導入相對的,可以使用Regedit註冊表編輯器來將註冊表中指定的項導出至REG文件,便於備份。可將REG文件可分發至多臺PC,進行批量的註冊表修改。

  REG文件可用任何文本文件編輯工具(如記事本)進行修改,熟練掌握後可以起到事半功倍、意想不到的效果。

2. 創建REG文件

  REG文件的創建過程非常簡單,可以通過任何一個文本文件編輯工具來實現。創建前記得先去掉“文件夾選項”中的“隱藏已知文件類型的擴展名”子項,使得你能夠真正地修改文件的擴展名。

 

  我們以記事本爲例,打開記事本程序,選擇“另存爲”,文件名爲“try.reg”,保存類型爲“所有文件”(這一步很重要,否則保存後的文件會自動加上“.txt”擴展名),然後保存。於是就獲得了一個空的REG文件。當然,你也可以選擇直接修改記事本文件的擴展名,例如把文件“try.txt”改爲“try.reg”。

 

 

  雙擊執行該文件,就會彈出以下提示框,提示你是否要修改註冊表。

 

3. REG語法

3.1 基本語法

  Reg文件內容的基本語法格式如下:

RegistryEditorVersion

空行

[RegistryPath1]

"DataItemName1"="DataType1:DataValue1"

"DataItemName2"="DataType2:DataValue2"

空行

[RegistryPath2]

"DataItemName3"="DataType3:DataValue3"

空行

[RegistryPath3]

"DataItemName4"="DataType4:DataValue4"

 

  • RegistryEditorVersion爲Windows註冊表編輯器的版本號。在Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows 7中,其值爲“Windows Registry Editor Version 5.00”。我的系統爲Windows 7 Service Pack 1(64位),其值爲“Windows Registry Editor Version 5.00”。在Windows 98和Windows NT 4.0中,其值爲“REGEDIT4”。Windows 2000、Windows XP和Windows Server 2003可能還兼容“REGEDIT4”。
  • 空行用於分隔多個鍵路徑,每個鍵路徑下可以有多個子鍵和值項。
  • RegistryPath就是鍵路徑,包含在方括號中,並以反斜槓分隔每個層次結構,例如:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6]

  REG支持遞歸創建新的鍵(子鍵),只要在RegistryPath中加入想創建的鍵(子鍵)即可。例如使用如下語句在TCPIP6下創建子鍵try,並在try下創建子鍵abc。

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\try\abc]

  註冊表由鍵(或稱“項”)、子鍵(或稱“子項”)和值項構成。我們來看一下註冊表編輯器,瀏覽至上述鍵路徑所指示的位置:

  • 左側展開的層次結構就是鍵路徑,可以理解爲目錄,一個鍵就是分支中的一個目錄,而子鍵就是這個目錄中的子目錄。子鍵同樣是一個鍵,因爲子目錄下還可以有子目錄。下圖中的“TCPIP6”和“Linkage”就是鍵(子鍵)。
  • 右側的“名稱-類型-數據”就是值項,可以理解爲文件,一個鍵(子鍵)可以有一個或多個值項,其名稱各不相同,如果一個值項的名稱爲空,則該值項爲該鍵的默認值項。下圖中的“DependOnService”就是值項的名稱,“REG_MULTI_SZ”是值類型,其值爲“Tcpip”。

 

  • DataItemName是值項的名稱。如果該值項在註冊表中不存在,則創建;如果存在,則覆蓋其值。注意,值項的名稱要用雙引號引起來。
  • DataTypeDataValue是值項的值,其中DataType爲值類型,DataValue爲具體值,DataType和DataItemName之間用“=”連接。REG_SZ類型的值需要標明DataType值類型,只需要用雙引號引起來,例如"DataItemName1"="Microsoft IPv6 Protocol Driver";其他類型不需要用雙引號引起來,但需要添加值類型,值類型和具體值之間用冒號分隔,例如"DataItemName2"=hex(2):73,00,79,00,73,00,74,00,"DataItemName3"=hex(7):5c,00,44,00,65,00,76,00,"DataItemName4"=dword:00000006。

  註冊表的數據類型主要有以下五種:

顯示類型

(在編輯器中)

數據類型

說明

REG_BINARY

二進制數

二進制值,以十六進制顯示

REG_DWORD

雙字

一個32位的二進制值,顯示爲8位的十六進制值,也可顯示爲10位十進制值

REG_SZ

字符串

文本字符串

REG_EXPAND_SZ

可擴充字符串

 

REG_MULTI_SZ

多字符串

含有多個文本值的字符串

  此外,註冊表還有其他的數據類型,但是均不常用:

REG_DWORD_BIG_ENDIAN

REG_DWORD_LITTLE_ENDIAN

REG_FULL_RESOURCE_DESCRIPTOR

REG_QWORD

REG_FILE_NAME

3.2 刪除操作語法

  如果要刪除一個鍵(子鍵),只需要在RegistryPath頭部添加字符“-”即可。例如使用如下語句刪除上文中創建的子鍵try和abc,REG是支持遞歸刪除的。

Windows Registry Editor Version 5.00

 

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\try]

  如果要刪除一個值項,只需要在DataItemName後面的等號後添加字符“-” 即可。例如先使用下面第一段語句創建一個值項“valueItem”,然後用第二段語句刪除該值項。

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\try\abc]

"valueItem"="my value"

 

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\try\abc]

"valueItem"=-

3.3 重命名操作語法

  若要重命名鍵(子鍵)或值項,請先將其刪除,然後使用新的名稱創建一個新的鍵(子鍵)或值項。

4. 編輯REG文件

  文章一開始已經創建了一個空的REG文件,爲了使其發揮作用,還需要編輯其內容。我們右鍵該文件,選擇“編輯”或選擇“打開方式->記事本”,即可打開REG文件。接着輸入內容並保存就OK了。

 

  現在以一個例子說明REG文件的使用方法。便如如下內容,保存後運行該REG文件,即可獲得下圖所示的結果。

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\try\abc]

"valueItem1"="my value"

"valueItem2"=dword:00000014

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\try]

"valueItem3"=hex(7):5c,00,44,00,65,00,76,00

 

 

5. 補充知識

  註冊表有五個分支,下面是這五個分支的名稱及作用:

名稱

作用

HKEY_CLASSES_ROOT

存儲Windows可識別的文檔類型的詳細列表,以及相關聯的程序

HKEY_CURRENT_USER

存儲當前用戶設置的信息

HKEY_LOCAL_MACHINE

包括安裝在計算機上的硬件和軟件的信息

HKEY_USERS

包含使用計算機的用戶的信息

HKEY_CURRENT_CONFIG

這個分支包含計算機當前的硬件配置信息

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章