感謝IT之家網(wǎng)友 第二生命轉(zhuǎn)移研究院 的原創(chuàng)投稿
混跡注冊表之家各位網(wǎng)友肯定要經(jīng)常修改注冊表。修改現(xiàn)有的值的數(shù)據(jù)還好,一旦涉及到刪除或添加鍵、值的數(shù)據(jù),修改鍵,不做備份,“日后再說”肯定會蒙圈。注冊表文檔(Registration Entries)不僅可以將添加或刪除的鍵、值進行快速還原,還方便分享你的注冊表鍵值的設(shè)置。
首先我們來先了解注冊表文檔的語法。
REGEDIT VERSION
(空一行)
[鍵1]
“值1”=”值類型1:數(shù)據(jù)1”
“值2”=”值類型2:數(shù)據(jù)2”
……
(空一行)
[鍵2]
“值3”=”值類型3:數(shù)據(jù)3”
......
語法項目詳細說明:
REGEDIT VERSION:指注冊表編輯器版本。Windows 2000之前的版本此處寫REGEDIT4,Windows 2000之后此處寫Windows Registry Editor Version 5.00。當然,你想偷懶的話也可以直接寫REGEDIT4,這么干是可以的。我把它稱之為“版本描述”。
空行:這是最簡單的、最基本的、不可或缺的語法元素之一。添加于版本描述語句之后、鍵路徑之前。
鍵和值就不用多說了,鍵(key)就是指注冊表里的那些“文件夾”,值(value)就是指右邊的那些“文件”,大家都應(yīng)該清楚。
值由兩部分組成:值名(value name)和值數(shù)據(jù)(value data),我平時都是習慣簡稱“值”和“數(shù)據(jù)”,反正是否標準就不知道了。在上述的語法描述中我也使用的是“值”和“數(shù)據(jù)”。
值類型是指值的數(shù)據(jù)類型,是值的基本屬性。
例如這個最基本的、不可或缺的注冊表元素——鍵的默認值(Default)。
它的數(shù)據(jù)是string(字符串)類型(REG_SZ)的。默認值在注冊表文檔中用@(不能加引號)表示。
類型在編寫注冊表文檔時很重要。下面我們來看一下各種值對應(yīng)的類型名:
需要特殊注意的是String(字符串)值:在注冊表中是REG_SZ,在注冊表文檔中為字符串類型的值的數(shù)據(jù)賦值時不寫類型和冒號,直接寫字符串數(shù)據(jù);
DWord值:在注冊表中是REG_DWORD,在注冊表文檔中用dword表示;
Qword值:在注冊表中是REG_QWORD,在注冊表文檔中用hex(b)表示;
Binary(二進制)值:在注冊表中是REG_BINARY,在注冊表文檔中用hex表示;
Expandable String(可擴展的字符串)值:在注冊表中是REG_EXPAND_SZ,在注冊表文檔中用hex(2)表示;
Multi-String(多值字符串集)值:在注冊表中是REG_MULTI_SZ,在注冊表文檔中用hex(7)表示;
比如說下面這個注冊表文檔,打開編輯界面是這樣的:
它所對應(yīng)的注冊表內(nèi)容是這樣的:
注冊表編輯器的版本描述語句與第一個鍵之間空一行;后一個鍵的相關(guān)語句和前一個鍵的相關(guān)語句之間要空一行。
鍵的路徑要表示為絕對路徑,即路徑分隔符要使用反斜杠(\);同一鍵下的不同項目另起一行直接寫,不留空行。
為REG_SZ類型的值的數(shù)據(jù)賦值時引號不可以省略,其他類型的值在賦值時引號可以省略。欲將某值的數(shù)據(jù)設(shè)置為空(或“0”),可以使用"值名"=""。
下面進入正題
一、新建鍵、值
例如在我想在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem\xml\Encoders\鍵下新建一個名為newTestKey的子鍵(subkey),然后新建幾個測試值,那就新建一個文本文檔,擴展名改為*.reg(編輯完之后再改也可以),右鍵菜單,編輯。寫上下面的語句:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem\xml\Encoders\newTestKey]
"newDword2"=dword:2
"newDword"=dword:00000001
"newString"="ITHome,Excited!"
保存并雙擊導(dǎo)入。
執(zhí)行結(jié)果:
默認值是不可或缺的,它是鍵存在的基礎(chǔ),所以在新建鍵時,即便不寫@="",也會自動創(chuàng)建默認值。
一般地,執(zhí)行在同一鍵下新建值的語句時沒有先后順序的講究,但是當出現(xiàn)的值的名稱和類型都相同、數(shù)據(jù)不同時,這就相當于修改值的數(shù)據(jù)了,注冊表中值的數(shù)據(jù)以注冊表文檔最后的值的數(shù)據(jù)為準。
二、刪除鍵、值
刪除鍵:在鍵前添加一個負號(-),形如
[-鍵]
刪除值:在賦值號(=)后不寫引號、值類型,直接寫一個負號(-),形如
Value#1=-
如果我想刪除前面添加的鍵及其所有值,編輯注冊表文檔,改為
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem\xml\Encoders\newTestKey]
"newDword2"=dword:2
"newDword"=dword:00000001
"newString"="ITHome,Excited!"
即可。
三、修改鍵、值:
修改鍵:這個比較麻煩,需要先刪除該鍵,然后再新建鍵(注意備份鍵下的值),再將值寫在新鍵下。
修改值名:這個也比較麻煩,需要先刪除該值,然后再新建值(注意備份值的數(shù)據(jù))。
我覺得除非你是想直接給別人你的注冊表設(shè)置,否則還是直接在注冊表編輯器里改吧。
修改值數(shù)據(jù):直接用
“值”=”值類型:新數(shù)據(jù)”
的語句來改寫。所以,你可以用
@=”新數(shù)據(jù)”
來修改默認值的數(shù)據(jù)。
總之,利用注冊表文檔可以很方便地批量創(chuàng)建鍵、值,將注冊表文檔化可以方便創(chuàng)建備份快速、安全地恢復(fù)之前的注冊表設(shè)置。但是如果你想分享新建、修改過值的數(shù)據(jù)的注冊表的話,還是右鍵導(dǎo)出算了。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。