系統檔案損壞、註冊表錯誤、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
RepairXP.bat。RepairXP.bat →「以系統管理員身分執行」(XP 需用 Administrator 帳號登入)。REGSVR32 /S 靜默重新註冊 COM 元件,修復註冊表中 ClassID/Interface/TypeLib 等註冊資訊;RUNDLL32 ADVPACK.DLL /DelNodeRunDLL32 清理損壞的快取檔。SFC /SCANNOW 進行系統檔完整性掃描(需安裝媒體)。REGSVR32 /S MSXML3.DLL 等較新版 MSXML 註冊(若系統已更新)。