﻿# 如何使用登錄檔(.reg)進行新增、修改或刪除登錄機碼和值

操作登錄項目(Registry)是我經常做的事情，所以也常累積不少登錄檔(\*.reg)隨時可供設定或移除，不過一般人可能比較少這樣處理，在此我就分享幾個操作登錄項目的一些小技巧。

**匯出登錄機碼**

無論如何，在測試修改機碼之前最好還是先備份一下，以一整個 "**機碼**" 為單位匯出（左側的每個資料夾都叫做**機碼**或稱**子機碼**），匯出成 \*.reg 檔後，日後若改錯或出問題時，點兩下即可修復機碼。

![登錄編輯程式 :: 匯出登錄項目](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/2771e878cb3efdf6cd60-image_5.png)

匯出後的格式像以下這樣，而我就是經常設定這種 \*.reg 的檔案幫我更新、刪除一些系統常用機碼設定：

```
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes]
"DefaultScope"="{05C72334-11F3-4e9f-8740-98128F52EFB9}"
"Version"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\{xxxx-xxxx}]
"DisplayName"="Google"
"URL"=http://www.google.com/search?hl=zh-TW&esrch=BetaShortcuts&q={searchTerms}&lr=
```

**新增或更新機碼值**

我這陣子處理了許多開發環境的問題，其中幾天前講的 \[ [安裝 Visual Studio .NET 2003 開發主機筆記](/post/2008/11/28/Visual-Studio-NET-2003-Development-Machine-Install-and-Setup-Note) \] 就有提到如何解決 \[**HTTP - 401.1 未授權登入失敗**\] 的問題，這問題基本上只要新增一個機碼就能夠解決，而我就將這個「新增機碼」的動作儲存成 \*.reg 檔，以後有其他電腦要設定環境時，直接 Double Click 就可以解決問題。

像這個問題需要在 **HKEY\_LOCAL\_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Lsa** 機碼中新增一筆 **DisableLoopbackCheck** 的 **DWORD** 值，假設檔名我取成 **Set-DisableLoopbackCheck.reg** 內容如下：

```
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"DisableLoopbackCheck"=dword:00000001
```

備註：若「機碼」本身不存在，執行 \*.reg 的時候會自動建立所有不認識的機碼，無須在特別另外建立。

**刪除機碼值**

如上一個範例，若要將 **DisableLoopbackCheck** 的 **DWORD** 值刪除，就可以用以下語法進行刪除：

```
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"DisableLoopbackCheck"=-
```

這裡的重點就是設定**值**的地方要設定成一個減號 ( - )，這就代表著「刪除」的意思。

**刪除登錄機碼**

跟身除**機碼值**不同，刪除**機碼**將會連同**機碼**、**機碼值**、與**所有子機碼**都一併刪除，算是個殺傷力相當大的語法，必須小心使用。

若你想將 Visual Studio 2008 最近開啟的專案(Recent Projects)全部清空的話，可以利用以下 reg 檔直接刪除機碼並重建機碼。

```
Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\ProjectMRUList]

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\ProjectMRUList]
```

**相關連結**

-   [如何使用登錄項目 (.reg) 檔案新增、修改或刪除登錄子機碼和登錄值](http://support.microsoft.com/default.aspx/kb/310516)
