我們平時(shí)大多采用Regedit注冊(cè)表編輯器來(lái)實(shí)現(xiàn)對(duì)注冊(cè)表的修改操作,但是這種手工操作費(fèi)時(shí)費(fèi)力,當(dāng)你要對(duì)多臺(tái)PC統(tǒng)一修改注冊(cè)表時(shí),就要怨念了。并且在某些情況下,如果注冊(cè)表編輯器被禁用了,那么這種方法也會(huì)失效。于是,推薦大家使用REG文件來(lái)快速完成注冊(cè)表的修改。
REG文件實(shí)際上是一種注冊(cè)表腳本文件,Regedit注冊(cè)表編輯器可以使用REG文件來(lái)導(dǎo)入、導(dǎo)出注冊(cè)表的子項(xiàng)和值。雙擊REG文件(即用Regedit.exe 注冊(cè)表編輯器程序運(yùn)行該文件)即可將其中的數(shù)據(jù)導(dǎo)入到注冊(cè)表中。我們可以使用REG文件直接對(duì)注冊(cè)表進(jìn)行任何修改操作,且不受注冊(cè)表編輯器被禁用的限制。與導(dǎo)入相對(duì)的,可以使用Regedit注冊(cè)表編輯器來(lái)將注冊(cè)表中指定的項(xiàng)導(dǎo)出至REG文件,便于備份。可將REG文件可分發(fā)至多臺(tái)PC,進(jìn)行批量的注冊(cè)表修改。
REG文件可用任何文本文件編輯工具(如記事本)進(jìn)行修改,熟練掌握后可以起到事半功倍、意想不到的效果。
1. 創(chuàng)建REG文件
REG文件的創(chuàng)建過(guò)程非常簡(jiǎn)單,可以通過(guò)任何一個(gè)文本文件編輯工具來(lái)實(shí)現(xiàn)。創(chuàng)建前記得先去掉“文件夾選項(xiàng)”中的“隱藏已知文件類(lèi)型的擴(kuò)展名”子項(xiàng),使得你能夠真正地修改文件的擴(kuò)展名。
我們以記事本為例,打開(kāi)記事本程序,選擇“另存為”,文件名為“try.reg”,保存類(lèi)型為“所有文件”(這一步很重要,否則保存后的文件會(huì)自動(dòng)加上“.txt”擴(kuò)展名),然后保存。于是就獲得了一個(gè)空的REG文件。當(dāng)然,你也可以選擇直接修改記事本文件的擴(kuò)展名,例如把文件“try.txt”改為“try.reg”。
雙擊執(zhí)行該文件,就會(huì)彈出以下提示框,提示你是否要修改注冊(cè)表。
2. REG語(yǔ)法
2.1 基本語(yǔ)法
Reg文件內(nèi)容的基本語(yǔ)法格式如下:
RegistryEditorVersion
空行
[RegistryPath1]
"DataItemName1"="DataType1:DataValue1"
"DataItemName2"="DataType2:DataValue2"
空行
[RegistryPath2]
"DataItemName3"="DataType3:DataValue3"
空行
[RegistryPath3]
"DataItemName4"="DataType4:DataValue4"
空行用于分隔多個(gè)鍵路徑,每個(gè)鍵路徑下可以有多個(gè)子鍵和值項(xiàng)。RegistryEditorVersion為Windows注冊(cè)表編輯器的版本號(hào)。在Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows 7中,其值為“Windows Registry Editor Version 5.00”。我的系統(tǒng)為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就是鍵路徑,包含在方括號(hào)中,并以反斜杠分隔每個(gè)層次結(jié)構(gòu),例如:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6]
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\try\abc]
REG支持遞歸創(chuàng)建新的鍵(子鍵),只要在RegistryPath中加入想創(chuàng)建的鍵(子鍵)即可。例如使用如下語(yǔ)句在TCPIP6下創(chuàng)建子鍵try,并在try下創(chuàng)建子鍵abc。
注冊(cè)表由鍵(或稱“項(xiàng)”)、子鍵(或稱“子項(xiàng)”)和值項(xiàng)構(gòu)成。我們來(lái)看一下注冊(cè)表編輯器,瀏覽至上述鍵路徑所指示的位置:
左側(cè)展開(kāi)的層次結(jié)構(gòu)就是鍵路徑,可以理解為目錄,一個(gè)鍵就是分支中的一個(gè)目錄,而子鍵就是這個(gè)目錄中的子目錄。子鍵同樣是一個(gè)鍵,因?yàn)樽幽夸浵逻可以有子目錄。下圖中的“TCPIP6”和“Linkage”就是鍵(子鍵)。
右側(cè)的“名稱-類(lèi)型-數(shù)據(jù)”就是值項(xiàng),可以理解為文件,一個(gè)鍵(子鍵)可以有一個(gè)或多個(gè)值項(xiàng),其名稱各不相同,如果一個(gè)值項(xiàng)的名稱為空,則該值項(xiàng)為該鍵的默認(rèn)值項(xiàng)。下圖中的“DependOnService”就是值項(xiàng)的名稱,“REG_MULTI_SZ”是值類(lèi)型,其值為“Tcpip”。
DataItemName是值項(xiàng)的名稱。如果該值項(xiàng)在注冊(cè)表中不存在,則創(chuàng)建;如果存在,則覆蓋其值。注意,值項(xiàng)的名稱要用雙引號(hào)引起來(lái)。
DataType、DataValue是值項(xiàng)的值,其中DataType為值類(lèi)型,DataValue為具體值,DataType和DataItemName之間用“=”連接。REG_SZ類(lèi)型的值需要標(biāo)明DataType值類(lèi)型,只需要用雙引號(hào)引起來(lái),例如"DataItemName1"="Microsoft IPv6 Protocol Driver";其他類(lèi)型不需要用雙引號(hào)引起來(lái),但需要添加值類(lèi)型,值類(lèi)型和具體值之間用冒號(hào)分隔,例如"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。
注冊(cè)表的數(shù)據(jù)類(lèi)型主要有以下五種:
顯示類(lèi)型 (在編輯器中) | 數(shù)據(jù)類(lèi)型 | 說(shuō)明 |
REG_BINARY | 二進(jìn)制數(shù) | 二進(jìn)制值,以十六進(jìn)制顯示 |
REG_DWORD | 雙字 | 一個(gè)32位的二進(jìn)制值,顯示為8位的十六進(jìn)制值,也可顯示為10位十進(jìn)制值 |
REG_SZ | 字符串 | 文本字符串 |
REG_EXPAND_SZ | 可擴(kuò)充字符串 | |
REG_MULTI_SZ | 多字符串 | 含有多個(gè)文本值的字符串 |
此外,注冊(cè)表還有其他的數(shù)據(jù)類(lèi)型,但是均不常用:
REG_DWORD_BIG_ENDIAN
REG_DWORD_LITTLE_ENDIAN
REG_FULL_RESOURCE_DESCRIPTOR
REG_QWORD
REG_FILE_NAME
如果要?jiǎng)h除一個(gè)鍵(子鍵),只需要在RegistryPath頭部添加字符“-”即可。例如使用如下語(yǔ)句刪除上文中創(chuàng)建的子鍵try和abc,REG是支持遞歸刪除的。2.2 刪除操作語(yǔ)法
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\try]
Windows Registry Editor Version 5.00如果要?jiǎng)h除一個(gè)值項(xiàng),只需要在DataItemName后面的等號(hào)后添加字符“-” 即可。例如先使用下面第一段語(yǔ)句創(chuàng)建一個(gè)值項(xiàng)“valueItem”,然后用第二段語(yǔ)句刪除該值項(xiàng)。
[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. 編輯REG文件2.3 重命名操作語(yǔ)法
若要重命名鍵(子鍵)或值項(xiàng),請(qǐng)先將其刪除,然后使用新的名稱創(chuàng)建一個(gè)新的鍵(子鍵)或值項(xiàng)。
文章一開(kāi)始已經(jīng)創(chuàng)建了一個(gè)空的REG文件,為了使其發(fā)揮作用,還需要編輯其內(nèi)容。我們右鍵該文件,選擇“編輯”或選擇“打開(kāi)方式->記事本”,即可打開(kāi)REG文件。接著輸入內(nèi)容并保存就OK了。
現(xiàn)在以一個(gè)例子說(shuō)明REG文件的使用方法。便如如下內(nèi)容,保存后運(yùn)行該REG文件,即可獲得下圖所示的結(jié)果。
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
4. 補(bǔ)充知識(shí)
注冊(cè)表有五個(gè)分支,下面是這五個(gè)分支的名稱及作用:
名稱 | 作用 |
HKEY_CLASSES_ROOT | 存儲(chǔ)Windows可識(shí)別的文檔類(lèi)型的詳細(xì)列表,以及相關(guān)聯(lián)的程序 |
HKEY_CURRENT_USER | 存儲(chǔ)當(dāng)前用戶設(shè)置的信息 |
HKEY_LOCAL_MACHINE | 包括安裝在計(jì)算機(jī)上的硬件和軟件的信息 |
HKEY_USERS | 包含使用計(jì)算機(jī)的用戶的信息 |
HKEY_CURRENT_CONFIG | 這個(gè)分支包含計(jì)算機(jī)當(dāng)前的硬件配置信息 |