1. 程式人生 > >Reg命令使用詳解 批處理操作登錄檔必備

Reg命令使用詳解 批處理操作登錄檔必備

首先要說明:編輯登錄檔不當可能會嚴重損壞您的系統。在更改登錄檔之前,應備份計算機上任何有價值的資料

只有在別無選擇的情況下,才直接編輯登錄檔。登錄檔編輯器會忽略標準的安全措施,從而使得這些設定會降低效能、破壞系統,甚至要求使用者重新安裝Windows。可以利用“控制面板”或“Microsoft管理控制檯(MMC)”中的程式安全更改多數登錄檔設定。如果必須直接

 

編輯登錄檔,則請首先將其備份。使用Reg直接編輯本地或遠端計算機的登錄檔。這些更改有可能造成計算機無法操作並需要重新安裝作業系統。所以不要直接編輯登錄檔,而應儘可能利用“控制面板”或“Microsoft管理控制檯(MMC)”更改登錄檔。有些操作可以檢視或

 

配置本地或遠端計算機的登錄檔項,而另外一些則只允許配置本地計算機的登錄檔設定。同時,遠端訪問登錄檔也可能會限制用於某操作的引數。請檢查每個操作的語法以便驗證該操作可以用於遠端計算機,以及驗證可用於那種情況下的引數。

 

  reg命令是WindowsXP提供的,它可以新增、更改和顯示登錄檔項中的登錄檔子項資訊和值。

 

  1,reg add 將新的子項或項新增到登錄檔中

  語法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f]

  引數

  KeyName

  指定子項的完全路徑。對於遠端計算機,請在\\ComputerName\PathToSubkey中的子項路徑前包含計算機名稱。忽略ComputerName會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為HKLM、HKCU、HKCR、HKU以及HKCC。遠端機器上只有

 

HKLM 和 HKU。

  值 說明

  HKCR: HKEY_CLASSES_ROOT

  HKCU: HKEY_CURRENT_USER

  HKLM: HKEY_LOCAL_MACHINE

  HKU: HKEY_USERS

  HKCC: HKEY_CURRENT_CONFIG

 

  /v EntryName

  指定要新增到指定子項下的項名稱。

  /ve

  指定新增到登錄檔中的項為空值。

  /t DataType

  指定項值的資料型別。DataType可以是以下幾種型別:

  REG_SZ

  REG_MULTI_SZ

  REG_DWORD_BIG_ENDIAN

  REG_DWORD

  REG_BINARY

  REG_DWORD_LITTLE_ENDIAN

  REG_LINK

  REG_FULL_RESOURCE_DESCRIPTOR

  REG_EXPAND_SZ

 

  /s separator

  指定用於分隔多個數據實例的字元。當REG_MULTI_SZ指定為資料型別且需要列出多個項時,請使用該引數。如果沒有指定,將使用預設分隔符為"\0"。

  /d value

  指定新登錄檔項的值。

  /f

  不用詢問資訊而直接新增子項或項。

  /?

  在命令提示符顯示幫助。

 

  註釋

  該操作不能新增子樹。該版本的Reg在新增子項時無需請求確認。

  下表列出了reg add操作的返回值。值說明

  0成功

  1失敗

 

  範例

  (補充,cmd /k 為在執行中使用reg命令)

  下列範例說明了如何使用reg add命令:

  cmd /k reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL" /v Checkedvalue /t reg_dword /d 1 /f(顯示隱藏的檔案和資料夾)

  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v systray /t REG_SZ /d "%SystemRoot%\system32\systray.exe" /f(開機啟動音量控制)

  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%SystemRoot%\explorer.exe" /f(開機啟動explorer外殼程式)

  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v SoundMan /t REG_SZ /d "%SystemRoot%\SOUNDMAN.exe" /f(開機啟動AC97音效管理員程式)

  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE" /ve /d "%ProgramFiles%\Internet Explorer\IEXPLORE.EXE" /t REG_SZ /f

  (UC房間打不開廣播)

  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSCONFIG.EXE" /ve /d "%SystemRoot%\PCHealth\HelpCtr\Binaries\MSConfig.exe" /t REG_SZ /f

  (執行MSConfig提示找不到檔案)

  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\wmplayer.exe" /ve /d "%ProgramFiles%\Windows Media Player\wmplayer.exe" /t REG_SZ /f

  (不能正常呼叫WMP播放器的修復)

  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WORDPAD.EXE" /ve /d "%ProgramFiles%\Windows NT\Accessories\WORDPAD.EXE" /t REG_SZ /f

  (不能正常呼叫寫字板的修復)

  cmd /k reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v ctfmon.exe /t REG_SZ /d "%SystemRoot%\system32\ctfmon.exe" /f(開機啟動輸入法程式CTFMON)

  cmd /k reg add "HKCU\ControlPanel\Desktop" /v WaitToKIllAppTimeOut /t REG_SZ /d 10000 /f(加速關閉應用程式)

 

  2,reg delete 從登錄檔刪除項或子項

  語法:reg delete KeyName [{/v EntryName|/ve|/va}] [/f]

  引數

  KeyName

  指定子項的完全路徑。對於遠端計算機,請在\\ComputerName\PathToSubkey中的子項路徑前包含計算機名稱。忽略ComputerName會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為HKLM、HKCU、HKCR、HKU以及HKCC。

  /v EntryName

  刪除子項下的特定項。如果未指定項,則將刪除子項下的所有項和子項。

  /ve

  指定只可以刪除為空值的項。

  /va

  刪除指定子項下的所有項。使用本引數不能刪除指定子項下的子項。

  /f

  無需請求確認而刪除現有的登錄檔子項或項。

  /?

  在命令提示符顯示幫助。

 

  註釋

  下表列出了reg delete操作的返回值。值說明

  0成功

  1失敗

 

  範例

  下面的範例說明了如何使用reg delete命令:

  cmd /k reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe" /f(工作列裡的工作管理員為灰色)

  cmd /k reg delete "HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg" /f(刪除MSConfig啟動裡的未勾選專案)

  cmd /k reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ctfmon.exe" /f(刪除CTFMON的映象劫持)

  cmd /k reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify" /v IconStreams /f

  cmd /k reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify" /v PastIconsStream /f(刪除通知區域的歷史記錄)

 

  3,reg compare 比較指定的登錄檔子項或項

  語法:reg compare KeyName1 KeyName2 [/v EntryName | /ve] {[/oa]|[/od]|[/os]|[on]} [/s]

  引數

  KeyName

  指定子項的完全路徑。對於遠端計算機,請在\\ComputerName\PathToSubkey中的子項路徑前包含計算機名稱。忽略ComputerName會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為HKLM、HKCU、HKCR、HKU以及HKCC。如果指定遠端計算

 

機,則只可使用HKLM和HKU子目錄樹。

  /v EntryName

  比較子項下的特定項。

  /ve

  指定只可以比較沒有值的項。

  {[/oa]|[/od]|[/os]|[on]}

  指定不同點和匹配點的顯示方式。預設設定是/od。值說明

  /oa指定顯示所有不同點和匹配點。預設情況下,僅列出不同點。

  /od指定僅顯示不同點。這是預設操作。

  /os指定僅顯示匹配點。預設情況下,僅列出不同點。

  /on指定不顯示任何內容。預設情況下,僅列出不同點。

  /s Separator

  比較所有子項和項。

  /?

  在命令提示符顯示幫助。

 

  註釋

  下表列出了reg compare操作的返回值。值說明

  0比較成功且結果相同。

  1比較失敗。

  2比較成功並找到不同點。

 

  範例

  下面的範例說明了如何使用reg compare命令:

  reg compare "hkcu\software\microsoft\winmine" "hkcu\software\microsoft\winmine" /od /s

 

  4,reg copy 將一個登錄檔項複製到本地或遠端計算機的指定位置

  語法:reg copy KeyName1 KeyName2 [/s] [/f]

  引數

  KeyName1

  指定要複製子項的完整路徑。對於遠端計算機,請在\\ComputerName\PathToSubkey中的子項路徑前包含計算機名稱。忽略ComputerName會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為HKLM、HKCU、HKCR、HKU以及HKCC。如果指定遠

 

程計算機,則只可使用HKLM和HKU子目錄樹。

  KeyName2

  指定子專案的地的完整路徑。對於遠端計算機,請在\\ComputerName\PathToSubkey中的子項路徑前包含計算機名稱。忽略ComputerName會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為HKLM、HKCU、HKCR、HKU以及HKCC。如果指定遠

 

程計算機,則只可使用HKLM和HKU子目錄樹。

  /s

  複製指定子項下的所有子項和項。

  /f

  無需請求確認而直接複製子項。

  /?

  在命令提示符顯示幫助。

 

  註釋

  該版本的Reg在複製子項時無須請求確認。

  下表列出了reg copy操作的返回值。值說明

  0成功

  1失敗

 

  範例

  下列範例說明了如何使用reg copy命令:

  reg copy "hkcu\software\microsoft\winmine" "hkcu\software\microsoft\winminebk" /s /f

  reg copy "hkcu\software\microsoft\winminebk" "hkcu\software\microsoft\winmine" /s

 

  5,reg export 將指定子項、項和值的副本建立到檔案中,以便將其傳輸到其它伺服器

  語法:reg export KeyName FileName

  引數

  KeyName

  指定子項的完全路徑。Export操作僅可在本地計算機上工作。以相應的子目錄樹開始路徑。有效子目錄樹為HKLM、HKCU、HKCR、HKU以及HKCC。

  FileName

  指定要匯出檔案的名稱和路徑。該檔案必須具有.reg副檔名。

  /?

  在命令提示符顯示幫助。

 

  註釋

  下表列出了reg export操作的返回值。值說明

  0成功

  1失敗

 

  範例

  下面的範例說明了如何使用reg export命令:

  reg export "hkcu\software\microsoft\winmine" c:\data\regbackups\wmbkup.reg

 

  6,reg import 將包含匯出的登錄檔子項、項和值的檔案複製到本地計算機的登錄檔中

  語法:reg import FileName

  引數

  FileName

  指定將複製到本地計算機登錄檔中的檔案的名稱和路徑。必須預先使用reg export命令建立該檔案。

  /?

  在命令提示符顯示幫助。

 

  註釋

  下表列出了reg import操作的返回值。值說明

  0成功

  1失敗

 

  範例

  下面的範例說明了如何使用reg import命令:

  reg import hkcu\software\microsoft\winmine" c:\data\regbackups\wmbkup.reg

 

  7,reg load 將儲存的子項和項寫回到登錄檔的不同子項中

  其目的是儲存到一個臨時檔案中,而該檔案可用於登錄檔項的疑難解答或編輯登錄檔項。

  語法:reg load KeyName FileName

  引數

  KeyName

  指定子項的完全路徑。對於遠端計算機,請在\\ComputerName\PathToSubkey中的子項路徑前包含計算機名稱。忽略ComputerName會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為HKLM

 

  8,reg query 返回登錄檔的子項下的項和下一層子項的列表

  語法:reg query KeyName [{/v EntryName|/ve}] [/s]

  引數

  KeyName

  指定子項的完全路徑。對於遠端計算機,請在 \\ComputerName\PathToSubkey 中的子項路徑前包含計算機名稱。忽略 ComputerName 會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定遠

 

程計算機,則只可使用 HKLM 和 HKU 子目錄樹。

  /v EntryName

  返回特定的項及其值。該引數只返回直接位於指定子項的下一層中的項。將會找不到當前子項下的子項中的項。如果省略 EntryName,則將返回子項下的所有項。

  /ve

  指定僅返回為空值的項。

  /s

  將返回各個層中的所有子項和項。如果不使用該引數,將只返回下一層的子項和項。

  /?

  在命令提示符顯示幫助。

 

  註釋

  下表列出了 reg query 操作的返回值。 值 說明

  0 成功

  1 失敗

 

  範例

  下面的範例說明了如何使用 reg query 命令:

  reg query "hklm\system\currentcontrolset\control\session manager" /v maxstacktracedepth

  reg query "hkcu\software\microsoft\winmine" /s

 

  9,reg restore將儲存的子項和項寫回到登錄檔

  語法:reg restore KeyName FileName

  引數

  KeyName

  指定子項的完全路徑。Restore 操作僅在本地計算機上工作。以相應的子目錄樹開始路徑。有效子目錄樹為 HKLM、HKCU、HKCR、HKU 以及 HKCC。

  FileName

  指定將寫回到登錄檔中的檔案的名稱和路徑。必須使用帶 .hiv 副檔名的 reg save 操作預先建立該檔案。

  /?

  在命令提示符顯示幫助。

 

  註釋

  該操作用於覆蓋已編輯的登錄檔項。編輯登錄檔項之前,請使用 reg save 操作儲存父親子項。如果編輯失敗,則可以使用本操作恢復子項。

  下表列出了 reg restore 操作的返回值。 值 說明

  0 成功

  1 失敗

 

  範例

  下面的範例說明了如何使用 reg restore 命令:

  reg restore "hkcu\software\microsoft\winmine" wmbkup.hiv

 

  10,reg save將指定的子項、項和登錄檔值的副本儲存到指定檔案中。

  語法

  reg save KeyName FileName

  引數

  KeyName

  指定子項的完全路徑。對於遠端計算機,請在 \\ComputerName\PathToSubkey 中的子項路徑前包含計算機名稱。忽略 ComputerName 會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為 HKLM、HKCU、HKCR、HKU 以及 HKCC。

  FileName

  指定所建立的檔案的名稱和路徑。如果未指定路徑,則使用當前路徑。

  /?

  在命令提示符顯示幫助。

 

  註釋

  下表列出了 reg save 操作的返回值。 值 說明

  0 成功

  1 失敗

 

  範例

  下面的範例說明了如何使用 reg save 命令:

  reg save "hkcu\software\microsoft\winmine" wmbkup.hiv

 

  11,reg unload 使用 reg load 操作刪除已載入的部分登錄檔

  語法:reg unload KeyName

  引數

  KeyName

  指定子項的完全路徑。對於遠端計算機,請在 \\ComputerName\PathToSubkey 中的子項路徑前包含計算機名稱。忽略 ComputerName 會導致預設對本地計算機進行操作。以相應的子目錄樹開始路徑。有效子目錄樹為 HKLM、HKCU、HKCR、HKU 以及 HKCC。

  /?

  在命令提示符顯示幫助。

 

  註釋

  下表列出了 reg unload 操作的返回值。 值 說明

  0 成功

  1 失敗