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

Windows 修補程式自動化安裝:批次檔識別兩類安裝程式並套用正確參數

編輯:XP 系統基礎知識

問題背景

Windows 修補程式(Hotfix)主要有兩種封裝格式,需不同安裝參數:

  • 類型一(SFXCAB):圖示為普通執行檔,版本資訊顯示 SFXCAB.EXE,支援 /U /Q /Z 參數(無訊息、安靜、不重開機)。
  • 類型二(WEXTRACT):圖示為壓縮檔樣式,版本資訊顯示 WEXTRACT.EXE,不支援 /U /Z,僅支援 /Q。

批次安裝時若參數錯誤會導致安裝失敗。

自動辨識方法:特徵字串掃描

用文字編輯器開啟兩類檔案可發現獨特字串:

  • 類型一唯一包含 _SFX_CAB_EXE_PATH
  • 類型二唯一包含 CABINET 與 WEXTRACT

利用 findstr 掃描即可判斷類型並套用正確參數。

核心批次指令

@echo off
FOR /R %%F IN (*.exe) DO (
    @findstr "_SFX_CAB_EXE_PATH" "%%F" >nul && (
        @start /wait %%F /U /Q /Z
    ) || (
        @start /wait %%F /Q
    )
)
qchain.exe

說明:

  • FOR /R 遞迴掃描所有子目錄,無需集中檔案。
  • findstr ... >nul 偵測特徵字串,成功則執行類型一參數,否則類型二參數。
  • start /wait 依序安裝,避免並行衝突。
  • qchain.exe 串連重開機需求(2002/12 後修補程式多內建,可省略)。

使用方式

  1. 將上述內容存為 install_hotfixes.bat 放在修補程式根目錄。
  2. 雙擊執行,自動遞迴安裝所有 .exe 修補程式。

優點

  • 純內部指令,無需額外工具。
  • 自動遞迴子目錄,管理彈性高。
  • 正確區分兩類封裝,避免參數錯誤導致安裝失敗。
Copyright © Windows教程網 All Rights Reserved