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

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

實際上圖形界面的註冊表編輯器已經能夠完成全部註冊表編輯操做,但有時並無圖形界面,好比只有一個shell,這時想修改註冊表的值,就能夠用到命令行的註冊表編輯器了。編輯器
0×3.reg經常使用命令詳解
本節將實例演示如何對註冊表進行添加、刪除、查看、備份、還原操做,對於其餘不經常使用的功能你們能夠本身去摸索。spa
實例一:使用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的子鍵,若是這個子鍵存在,則不做任何操做。code
/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)