使用Windows命令行reg控制注冊表鍵值


使用Windows命令行reg控制注冊表鍵值

引言

熟悉Windows操作系統的朋友可能都知道,Windows操作系統下的注冊表相當於系統的數據庫 ,部分軟件將自己的配置信息都放在注冊表里面,而注冊表的破壞可以直接導致系統的崩潰。

而熟悉注冊表的朋友對"注冊表編輯器(regedit.exe)"一點也不陌生,它提供了一個圖形化管理注冊表的操作界面,本文要介紹的是另一種管理注冊表的方法"控制台注冊表編輯器(reg.exe)",它可以使用純命令行的模式對注冊表進行添加、刪除、查看等操作;適用於在批處理中對注冊表進行操作。

 

文章目錄

0×1.控制台注冊表編輯器在系統中的位置

如果我們的系統裝在"C盤",那么控制台注冊表編輯器reg.exe就在"C:\Windows\System32\reg.exe"(一些精簡版的系統將這些程序都刪除了,這樣的情況你可以從其他系統中拷貝一個放置這個目錄下)。

要調用"控制台注冊表編輯器"只需要打開一個CMD命令行,輸入"reg /?"就能看到幫助文件了,如下圖所示(注意,Win7以后的系統中必須用管理員身份運行CMD才能對注冊表的一些項進行操作,否則會因為權限不足而報錯)

windows-reg-1

0×2.注冊表類型結構

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

windows-reg-2

實際上圖形界面的注冊表編輯器已經可以完成所有注冊表編輯操作,但有時並沒有圖形界面,比如只有一個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"
2 操作成功完成。

在上面的命令中,"reg add" 是添加的意思,HKCU是根鍵"HKEY_CURRENT_USER"的縮寫,另外幾個根鍵的縮寫分別為"HKCR"、"HKLM"、"HKU"、"HKCC",取根鍵的第一個單詞的前兩個字母和后面兩個單詞的前一個字母。

hkcu\qingsword就是在根鍵"HKEY_CURRENT_USER"下添加一個叫做qingsword的子鍵,如果這個子鍵存在,則不作任何操作。

/v 后面跟需要創建的值的名稱。/t 后面是值的類型,/d 后面是這個值的數據。

命令成功后,在圖形化注冊表編輯器中可以查看到改動,顯示結果如下圖所示,如果沒有出現變化請按"F5"刷新:

windows-reg-3

上圖中,值hello上面還有一個默認值,如何更改這個默認值的類型和數據呢?請看下面的命令,需要將/v參數更改成/ve,意思是添加名稱是空的默認值(ve=value empty),並將其類型(type)改變成DWORD,數據改成1:

1 C:\>reg add hkcu\qingsword /ve /t REG_DWORD /d 1
2 操作成功完成。

更改完成后,大家可以刷新看看默認值是不是更改成了我們設置的樣子。

實例二:查看某個注冊表項下面的值

01 #查看剛才創建的整個鍵下面的所有值的數據
02 C:\>reg query hkcu\qingsword
03  
04 HKEY_CURRENT_USER\qingsword
05     (默認)    REG_DWORD    0x1
06     hello    REG_SZ    welcome to my website
07  
08 #如果一個鍵下面的數據過多,可以使用下面的命令單獨查看hello值的數據
09 C:\>reg query hkcu\qingsword /v hello
10  
11 HKEY_CURRENT_USER\qingsword
12     hello    REG_SZ    welcome to my website
13  
14 #單獨查看默認值的數據
15 C:\>reg query hkcu\qingsword /ve
16  
17 HKEY_CURRENT_USER\qingsword
18     (默認)    REG_DWORD    0x1

實例三:導出和導入注冊表

01 #導出hkcu\qingsword這個鍵到C盤下命名為qingsword.reg
02 C:\>reg export hkcu\qingsword c:\qingsword.reg
03  
04 #刪除hkcu\qingsword鍵,稍后用導出的注冊表文件恢復
05 C:\>reg delete hkcu\qingsword /f
06  
07 #這時候查看這個鍵會發生錯誤,因為上面刪除了
08 C:\>reg query hkcu\qingsword
09 錯誤: 系統找不到指定的注冊表項或值。
10  
11 #將剛才備份的文件導入注冊表(會覆蓋現有數據)
12 C:\>reg import c:\qingsword.reg
13 操作成功完成。
14  
15 #再次查詢,看到原來的數據了,說明導入成功
16 C:\>reg query hkcu\qingsword
17  
18 HKEY_CURRENT_USER\qingsword
19     (默認)    REG_DWORD    0x1
20     hello    REG_SZ    welcome to my website
21  
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
3 操作成功完成。

實例五:刪除hkcu\qingsword下剛才修改的"默認"值

1 #操作完成后,默認值恢復了默認的樣子
2 C:\>reg delete hkcu\qingsword /ve /f
3 操作成功完成。

通過這篇文章,相信大家對控制台注冊表編輯器有了初步的了解,更多的操作可以使用"reg /?"去查看幫助文件;需要注意的是,有些根鍵下是不能直接創建子鍵的比如"HKEY_LOCAL_MACHINE"下就算是管理員也不能創建子鍵,但是可以在更下一級子鍵中創建比如"HKLM\software\";當需要操作的鍵中存在空格,需要用雙引號將整個路徑引起來。

*轉載請注明來自:晴刃(QingSword.COM)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM