如何使用 .reg 檔案新增、修改或刪除登錄子機碼和值

適用於: Windows 7 EnterpriseWindows 7 ProfessionalWindows 7 Home Basic

注意事項
  • 本文提供給進階使用者、系統管理員及 IT 專業人員參考使用。
  • 匯入登錄項目 (.reg) 檔案是 Regedit.exe 的功能,不受 Regedt32.exe 支援。 您可以使用 Regedit.exe,變更 Windows NT 4.0 或 Windows 2000 電腦上的登錄,但某些變更還是需要使用 Regedt32.exe 才能進行。 例如,您無法使用 Windows NT 4.0 或 Windows 2000 電腦上的 Regedit.exe,新增或變更 REG_EXPAND_SZ 或 REG_MULTI_SZ 值。 Regedt32.exe 是 Windows NT 4.0 與 Windows 2000 的主要登錄編輯程式。 如果您必須使用 Regedt32.exe,就無法使用登錄項目 (.reg) 檔案修改登錄。 如需有關 Regedit.exe 和 Regedt32.exe 之間差異的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
     
    141377 Regedit.exe 與 Regedt32.exe 的差異
     

本文內容

摘要


重要 此章節、方法或工作包含有關如何修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 為加強保護,請先備份登錄再進行修改。 如果發生問題,您就可以還原登錄。 如需有關如何備份和還原登錄的詳細資訊,請按一下下列文章編號,檢視「Microsoft 知識庫」中的文章:
322756 如何在 Windows 中備份及還原登錄
本文將逐步告訴您,如何使用登錄項目 (.reg) 檔案,以新增、修改或刪除登錄子機碼和登錄值。 Regedit.exe 會使用 .reg 檔,匯入及匯出登錄子機碼和登錄值。 您可以使用這些 .reg 檔,以遠端方式將登錄變更散發至多部 Windows 的電腦上。 當您執行 .reg 檔時,檔案的內容就會合併至本機登錄中。 因此,您必須格外小心地散發 .reg 檔。

回到頁首

.Reg 檔的語法

.reg 檔具有下列語法:

RegistryEditorVersion
Blank line
[RegistryPath1]

"DataItemName1"="DataType1:DataValue1"
DataItemName2"="DataType2:DataValue2"
Blank line
[RegistryPath2]

"DataItemName3"="DataType3:DataValue3"

其中:

RegistryEditorVersion 在 Windows 2000、Windows XP 及 Windows Server 2003 中是 "Windows Registry Editor Version 5.00",在 Windows 98 及 Windows NT 4.0 則是 "REGEDIT4"。 REGEDIT4 標頭也可以在 Windows 2000、Windows XP 和 Windows Server 2003 的電腦上執行。

Blank line 代表空白行。 這可以識別新登錄路徑的開頭。 每個機碼或子機碼都是新的登錄路徑。 如果您的 .reg 檔中具有數個機碼,空白行可以協助您檢查並疑難排解內容。

RegistryPathx 是含有所要匯入之第一個值的子機碼路徑。 請以中括弧括住路徑,並且使用反斜線分隔階層架構的每一層。 例如:
[HKEY_LOCAL_ MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]
.reg 檔可以包含數個登錄路徑。 如果登錄中路徑陳述式的階層架構沒有結尾,就會建立新的子機碼。 登錄檔案的內容會依照您輸入的順序傳送至登錄。 因此,如果要建立新的子機碼,並且在新子機碼下包含其他子機碼,您必須依照原先的順序輸入行。

DataItemNamex 是您想要匯入的資料項目名稱。 如果檔案中的資料項目沒有存在於登錄中,.reg 檔就會加以新增 (使用該資料項目的值)。 如果有資料項目,.reg 檔中的值就會覆寫現有的值。 資料項目的名稱會以引號括住, 並且會在資料項目名稱後面加上等號 (=)。

DataTypex 是登錄值的資料類型,直接接在等號後面。 除了 REG_SZ (字串值) 以外的所有資料類型,後面都會加上冒號。 如果資料類型是 REG_SZ,請勿加上資料類型值或冒號。 在這種情況下,Regedit.exe 會將 REG_SZ 當做資料類型。 下列表格列出常見的登錄資料類型:
資料類型 .reg 中的 DataType
REG_BINARY hexadecimal
REG_DWORD dword
REG_EXPAND_SZ hexadecimal(2)
REG_MULTI_SZ hexadecimal(7)
如需有關登錄資料類型的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
 
256986 進階使用者的 Windows 登錄資訊
 
DataValuex 會直接接在冒號之後 (如果是 REG_SZ,則接在等號之後),並且必須具有適當的格式 (例如,字串或十六進位)。 如果是二進位資料項目,請使用十六進位格式。

注意 您可以在同一個登錄路徑中輸入數個資料項目行。

注意 登錄檔的檔案底部應該包含空白行。

回到頁首

新增登錄子機碼,或者新增及變更登錄值

如果要新增登錄子機碼,或是新增或變更登錄值,請在登錄中進行適當的變更,再將適當的一或多個子機碼匯出。 匯出的登錄子機碼會自動儲存為 .reg 檔。 如果要變更登錄,並將您的變更匯出至 .reg 檔中,請執行下列步驟:
 
  1. 依序按一下 [開始][執行],在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]
  2. 找出並按一下含有您想要變更登錄項目的子機碼。
  3. 按一下 [檔案],然後按一下 [匯出]

    這個步驟可以在您做出任何變更之前,先備份子機碼。 如果稍後您的變更出了問題,就可以將這個檔案匯入登錄中。
  4. [匯出登錄檔案] 方塊中,輸入用來儲存含有原始登錄項目的 .reg 檔的檔案名稱,然後按一下 [存檔]

    注意 請使用可以提醒您檔案內容的名稱,例如子機碼名稱的參照。
  5. 在右邊窗格中,新增或修改您想要的登錄項目。
  6. 重複步驟 3 和 4,再次匯出子機碼,但是請為 .reg 檔設定不同的檔案名稱。 您可以使用這個 .reg 檔,在其他電腦上變更登錄。
  7. 在本機電腦上測試您的變更。 如果這些變更造成問題,請按兩下保有原始登錄資料的備份檔案,以便將登錄還原為原始的狀態。 如果變更如您預期般地進行,就可以使用本文『散發登錄變更』一節中的方法,將您在步驟 6 中建立的 .reg 散發到其他電腦。 

回到頁首

刪除登錄機碼和值

若要以 .reg 檔刪除登錄機碼,請在 .reg 檔的 RegistryPath 前面加上連字號 (-)。 例如,若要從下列登錄機碼刪除 Test 子機碼:
HKEY_LOCAL_MACHINE\Software
請在 .reg 檔案的下列登錄機碼前面加上連字號:
HKEY_LOCAL_MACHINE\Software\Test
下列範例包含可以執行這項操作的 .reg 檔案。
[-HKEY_LOCAL_MACHINE\Software\Test]
若要以 .reg 檔刪除登錄值,請在 .reg 檔 DataItemName 後面的等號之後加上連字號 (-)。 例如,若要從下列登錄機碼刪除 TestValue 登錄值:
HKEY_LOCAL_MACHINE\Software\Test
請在 .reg 檔案的 "TestValue"= 後面加上連字號。 下列範例包含可以執行這項操作的 .reg 檔案。
HKEY_LOCAL_MACHINE\Software\Test
"TestValue"=-
如果要建立 .reg 檔,請使用 Regedit.exe 匯出您想要刪除的登錄機碼,然後在「記事本」中編輯 .reg 檔並插入連字號。

回到頁首

重新命名登錄機碼和值

如果要重新命名機碼或值,請刪除該機碼或值,然後以新的名稱建立新的機碼或值。

散發登錄變更

您可以將 .reg 檔以電子郵件傳送給使用者,或放在網路共用上並將使用者導向網路共用以執行 .reg 檔,或是在使用者的登入指令碼中新增命令,以便在使用者登入時自動匯入 .reg 檔。 當使用者執行 .reg 檔時,會收到下列訊息:
登錄編輯程式
確定要將 path of .reg file 中的資訊新增到登錄嗎?
如果使用者按一下 [是],就會收到下列訊息:
登錄編輯程式
.reg 檔中的資訊已經順利輸入登錄中。
Regedit.exe 支援使用 /s 命令列參數來隱藏這些訊息。 例如,若要從登入指令碼批次檔,以無訊息模式 (使用 /s 參數) 執行 .reg 檔,請使用下列語法:
regedit.exe /s path of .reg file
您也可以使用「群組原則」或「系統原則」,在您的網路中散發登錄變更。 如需詳細資訊,請造訪下列 Microsoft 網站:注意 如果變更生效,您可以傳送登錄檔案給網路中的適當使用者。

回到頁首