Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows XP 系統檔案一鍵修復批次檔:重新註冊核心 DLL/OCX 與自動重開機選單

編輯:Windows XP 系統介紹

前言

系統檔案損壞、註冊表錯誤、ActiveX 元件失效時,逐一手動 regsvr32 既繁瑣又易漏。本文提供一個即用型批次檔(RepairXP.bat),自動重新註冊 100+ 關鍵系統 DLL/OCX/CPL,修復完成後提供重開機/關機/離開選單,適合維護人員與進階使用者快速修復 XP 系統。

批次檔完整內容

將以下內容儲存為 RepairXP.bat(編碼建議 ANSI/Big5),以系統管理員身分執行:

@ECHO OFF
CLS
COLOR 2
ECHO -----------------------------------------------------
ECHO.
ECHO 本程式將重新註冊 XP 核心系統檔以修復系統
ECHO.
ECHO -----------------------------------------------------
ECHO.
PAUSE
CLS
ECHO -----------------------------------------------------
ECHO.
ECHO 請耐心等待修復完成...
ECHO.
ECHO -----------------------------------------------------
ECHO.

:: 清理可能損壞的快取
RUNDLL32.EXE ADVPACK.DLL /DelNodeRunDLL32 %SYSTEMROOT%\SYSTEM32\DACUI.DLL
RUNDLL32.EXE ADVPACK.DLL /DelNodeRunDLL32 %SYSTEMROOT%\CATROOT\ICATALOG.MDB

:: 核心系統元件重新註冊 (按功能分組)
:: --- 瀏覽器/Shell 核心 ---
REGSVR32 /S SETUPWBV.DLL
REGSVR32 /S SHDOCTV.DLL
REGSVR32 /S SHDOCTV.DLL /I
REGSVR32 /S BROWSEUI.DLL
REGSVR32 /S BROWSEUI.DLL /I
REGSVR32 /S SHELL32.DLL /I

:: --- 系統/COM/OLE ---
REGSVR32 /S OLEAUT32.DLL
REGSVR32 /S COMCAT.DLL
REGSVR32 /S ASCTRLS.OCX
REGSVR32 /S SCRRUN.DLL
REGSVR32 /S DISPEX.DLL

:: --- 網路/IE 相關 ---
REGSVR32 /S WININET.DLL
REGSVR32 /S WININET.DLL /I
REGSVR32 /S URLMON.DLL
REGSVR32 /S URLMON.DLL /I
REGSVR32 /S MSHTML.DLL
REGSVR32 /S MSHTML.DLL /I
REGSVR32 /S MSHTMLED.DLL
REGSVR32 /S INETCPL.CPL /I
REGSVR32 /S IEPEERS.DLL
REGSVR32 /S IESSETUP.DLL /I
REGSVR32 /S OCCACHE.DLL
REGSVR32 /S OCCACHE.DLL /I
REGSVR32 /S CDFVIEW.DLL
REGSVR32 /S WEBPOST.DLL
REGSVR32 /S WPWIZDLL.DLL
REGSVR32 /S POSTWPP.DLL
REGSVR32 /S CRSWPP.DLL
REGSVR32 /S FTPWPP.DLL
REGSVR32 /S FPWPP.DLL

:: --- 安全/加密/憑證 ---
REGSVR32 /S CRYPTDLG.DLL
REGSVR32 /S CRYPTTEXT.DLL
REGSVR32 /S RSABASE.DLL
REGSVR32 /S DIGEST.DLL /I
REGSVR32 /S LICMGR10.DLL
REGSVR32 /S MSIDENT.DLL
REGSVR32 /S MSNSSPC.DLL /SspcCreateSspiReg
REGSVR32 /S MSAPSSPC.DLL /SspcCreateSspiReg

:: --- 多媒體/編解碼器 ---
REGSVR32 /S MSDXM.OCX
REGSVR32 /S DXMASF.DLL
REGSVR32 /S L3CODECX.AX
REGSVR32 /S ACELPDEC.AX
REGSVR32 /S MPG4DS32.AX
REGSVR32 /S VOXMSDEC.AX
REGSVR32 /S WMPDXM.DLL

:: --- 郵件/通訊/通訊錄 ---
REGSVR32 /S INETCOMM.DLL
REGSVR32 /S MSOE.DLL
REGSVR32 /S OEIMPORT.DLL
REGSVR32 /S MSOEACCT.DLL
REGSVR32 /S WAB32.DLL
REGSVR32 /S WABIMP.DLL
REGSVR32 /S WABFIND.DLL
REGSVR32 /S OEMIGLIB.DLL
REGSVR32 /S SENDMAIL.DLL

:: --- 腳本/程式設計模型 ---
REGSVR32 /S JSCRIPT.DLL
REGSVR32 /S VBSCRIPT.DLL
REGSVR32 /S MSXML.DLL
REGSVR32 /S MSXML3.DLL
REGSVR32 /S MSXML4.DLL
REGSVR32 /S MSXML6.DLL

:: --- 其它常用元件 ---
REGSVR32 /S SHIMGVW.DLL
REGSVR32 /S HHCTRL.OCX
REGSVR32 /S APWIZ.CPL
REGSVR32 /S MSI.DLL
REGSVR32 /S WUPDINFO.DLL
REGSVR32 /S WSHOM.OCX
REGSVR32 /S WSHEXT.DLL
REGSVR32 /S FLUPL.OCX
REGSVR32 /S MSTINIT.EXE /SETUP

ECHO ------------------------
ECHO.
ECHO 修復完成,建議立即重新啟動電腦
ECHO.
ECHO -----------------------------------------------------
ECHO.
SET /P ST=請輸入 1 (重新啟動) 或 2 (關機) 或 3 (直接結束) 並按 Enter:
ECHO.
IF /I "%ST%"=="1" GOTO REBOOT
IF /I "%ST%"=="2" GOTO SHUTDOWN
IF /I "%ST%"=="3" GOTO EXIT
:REBOOT
SHUTDOWN -R -T 0
GOTO EXIT
:SHUTDOWN
SHUTDOWN -S -T 0
:EXIT

使用說明

  1. 複製上述程式碼 → 記事本 → 另存為 RepairXP.bat。
  2. 右鍵 RepairXP.bat →「以系統管理員身分執行」(XP 需用 Administrator 帳號登入)。
  3. 閱讀提示按任意鍵開始,過程約 1-3 分鐘(視硬碟速度)。
  4. 完成後依提示輸入 1/2/3 選擇後續動作。

原理與適用場景

  • 原理: 批次呼叫 REGSVR32 /S 靜默重新註冊 COM 元件,修復註冊表中 ClassID/Interface/TypeLib 等註冊資訊;RUNDLL32 ADVPACK.DLL /DelNodeRunDLL32 清理損壞的快取檔。
  • 適用: IE 無法開啟、ActiveX 錯誤、右鍵選單缺項、控制台小程式損壞、系統檔案關聯錯誤、惡意軟體清理後的殘留修復。
  • 不適用: 實體檔案遺失(需從安裝媒體 EXPAND 還原)、硬碟壞軌、記憶體錯誤、深度登錄結構損壞。

進階擴充建議

  • 在批次檔開頭加入 SFC /SCANNOW 進行系統檔完整性掃描(需安裝媒體)。
  • 加入 REGSVR32 /S MSXML3.DLL 等較新版 MSXML 註冊(若系統已更新)。
  • 製作開機隨身碟整合此批次檔,離線修復無法開機的 XP 系統。
Copyright © Windows教程網 All Rights Reserved