Windows 修補程式分兩種封裝格式:SFXCAB (圖示為普通執行檔) 需參數 /U /Q /Z;WEXTRACT (圖示為壓縮檔樣式) 僅支援 /Q。批次腳本若參數錯誤會安裝失敗。本文教導用 findstr 偵測特徵字串自動判別格式並套用正確參數,實現一勞永逸的自動化安裝。
_SFX_CAB_EXE_PATH:僅存在於 SFXCAB 類型修補程式資源中。CABINET、WEXTRACT:僅存在於 WEXTRACT 類型。@findstr _SFX_CAB_EXE_PATH 修補程式.exe >nul && @echo 參數 /U /Q /Z || @echo 參數 /Q
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
/R 遞迴子目錄,無需集中檔案。qchain.exe 串聯取代鏈 (2002/12 後修補程式內建,可省略)。對兩類修補程式分別測試,輸出正確參數,安裝無誤。