使用Windows命令行reg控制注冊表鍵值
引言
熟悉Windows操作系統的朋友可能都知道,Windows操作系統下的注冊表相當於系統的數據庫 ,部分軟件將自己的配置信息都放在注冊表里面,而注冊表的破壞可以直接導致系統的崩潰。
而熟悉注冊表的朋友對"注冊表編輯器(regedit.exe)"一點也不陌生,它提供了一個圖形化管理注冊表的操作界面,本文要介紹的是另一種管理注冊表的方法"控制台注冊表編輯器(reg.exe)",它可以使用純命令行的模式對注冊表進行添加、刪除、查看等操作;適用於在批處理中對注冊表進行操作。
文章目錄
0×1.控制台注冊表編輯器在系統中的位置
如果我們的系統裝在"C盤",那么控制台注冊表編輯器reg.exe就在"C:\Windows\System32\reg.exe"(一些精簡版的系統將這些程序都刪除了,這樣的情況你可以從其他系統中拷貝一個放置這個目錄下)。
要調用"控制台注冊表編輯器"只需要打開一個CMD命令行,輸入"reg /?"就能看到幫助文件了,如下圖所示(注意,Win7以后的系統中必須用管理員身份運行CMD才能對注冊表的一些項進行操作,否則會因為權限不足而報錯)

0×2.注冊表類型結構
首先可以使用管理員權限打開cmd,在其中輸入"regedit"回車,就能打開圖形界面的注冊表編輯器,下面用一張圖說明注冊表中的三個關鍵術語:"鍵"、"值"、"值類型";

實際上圖形界面的注冊表編輯器已經可以完成所有注冊表編輯操作,但有時並沒有圖形界面,比如只有一個shell,這時想修改注冊表的值,就可以用到命令行的注冊表編輯器了。
0×3.reg常用命令詳解
本節將實例演示如何對注冊表進行添加、刪除、查看、備份、還原操作,對於其他不常用的功能大家可以自己去摸索。
實例一:使用CMD在根鍵"HKEY_CURRENT_USER"下創建一個子鍵"qingsword",在這個子鍵中,添加一個值名稱為"hello",類型為"REG_ZS",數據為"welcome to my website";
1 |
C:\> reg add hkcu\qingsword /v hello /t REG_SZ /d "welcome to my website" |
在上面的命令中,"reg add" 是添加的意思,HKCU是根鍵"HKEY_CURRENT_USER"的縮寫,另外幾個根鍵的縮寫分別為"HKCR"、"HKLM"、"HKU"、"HKCC",取根鍵的第一個單詞的前兩個字母和后面兩個單詞的前一個字母。
hkcu\qingsword就是在根鍵"HKEY_CURRENT_USER"下添加一個叫做qingsword的子鍵,如果這個子鍵存在,則不作任何操作。
/v 后面跟需要創建的值的名稱。/t 后面是值的類型,/d 后面是這個值的數據。
命令成功后,在圖形化注冊表編輯器中可以查看到改動,顯示結果如下圖所示,如果沒有出現變化請按"F5"刷新:

上圖中,值hello上面還有一個默認值,如何更改這個默認值的類型和數據呢?請看下面的命令,需要將/v參數更改成/ve,意思是添加名稱是空的默認值(ve=value empty),並將其類型(type)改變成DWORD,數據改成1:
1 |
C:\> reg add hkcu\qingsword /ve /t REG_DWORD /d 1 |
更改完成后,大家可以刷新看看默認值是不是更改成了我們設置的樣子。
實例二:查看某個注冊表項下面的值
02 |
C:\> reg query hkcu\qingsword |
04 |
HKEY_CURRENT_USER\qingsword |
06 |
hello REG_SZ welcome to my website |
08 |
#如果一個鍵下面的數據過多,可以使用下面的命令單獨查看hello值的數據 |
09 |
C:\> reg query hkcu\qingsword /v hello |
11 |
HKEY_CURRENT_USER\qingsword |
12 |
hello REG_SZ welcome to my website |
15 |
C:\> reg query hkcu\qingsword /ve |
17 |
HKEY_CURRENT_USER\qingsword |
實例三:導出和導入注冊表
01 |
#導出hkcu\qingsword這個鍵到C盤下命名為qingsword.reg |
02 |
C:\> reg export hkcu\qingsword c:\qingsword. reg |
04 |
#刪除hkcu\qingsword鍵,稍后用導出的注冊表文件恢復 |
05 |
C:\> reg delete hkcu\qingsword /f |
07 |
#這時候查看這個鍵會發生錯誤,因為上面刪除了 |
08 |
C:\> reg query hkcu\qingsword |
11 |
#將剛才備份的文件導入注冊表(會覆蓋現有數據) |
12 |
C:\> reg import c:\qingsword. reg |
16 |
C:\> reg query hkcu\qingsword |
18 |
HKEY_CURRENT_USER\qingsword |
20 |
hello REG_SZ welcome to my website |
22 |
#這個方法可以用來備份注冊表的五個根鍵到指定的目錄,以便在注冊表被破壞時恢復,比如,備份hkcr這個根鍵到c盤中,其他的以此類推(圖形化界面注冊表編輯器可以一次性備份整個注冊表) |
23 |
C:\> reg export hkcr c:\hkcr. reg |
實例四:刪除hkcu\qingsword下剛才創建的"hello"值
1 |
#刪除"hkcu\qingsword"鍵下的"hello"值,/f參數表強制刪除且不詢問,如果不添加則會詢問是否刪除 |
2 |
C:\> reg delete hkcu\qingsword /v hello /f |
實例五:刪除hkcu\qingsword下剛才修改的"默認"值
2 |
C:\> reg delete hkcu\qingsword /ve /f |
通過這篇文章,相信大家對控制台注冊表編輯器有了初步的了解,更多的操作可以使用"reg /?"去查看幫助文件;需要注意的是,有些根鍵下是不能直接創建子鍵的比如"HKEY_LOCAL_MACHINE"下就算是管理員也不能創建子鍵,但是可以在更下一級子鍵中創建比如"HKLM\software\";當需要操作的鍵中存在空格,需要用雙引號將整個路徑引起來。
*轉載請注明來自:晴刃(QingSword.COM)