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

讓 Windows XP 自動維護系統:用 .inf + 排程任務 實現無人值守磁碟整理、清理與關機

編輯:XP 系統基礎知識

核心架構:三個批次檔 + 一個 .inf 設定檔 + 排程任務

利用 Windows 安裝引擎 (advpack.dll) 執行 .inf 檔案的特性,將維護指令封裝為「偽裝的硬體安裝流程」,再由排程任務定時觸發,實現全自動維護。

實作四步驟

1. 建立 Main.bat — 維護核心指令腳本

路徑:C:\Main.bat (可自訂)

@echo off
cd /d %SystemRoot%\System32
defrag C: /f
chkntfs C:
:: 可自行擴充:xcopy 備份、del 清理暫存檔、sfc /scannow 等
  • defrag C: /f:強制磁碟重組 (需管理員權限)。
  • chkntfs C::檢查檔案系統完整性。

2. 建立 Main.inf — 偽裝安裝腳本

路徑:C:\Main.inf

[version]
Signature="$CHICAGO$"
AdvancedINF=2.5,"advpack.dll"

[DefaultInstall]
RunPreSetupCommands=Tst.PreSetup
RunPostSetupCommands=Tst.PostSetup

[Tst.PreSetup]
C:\Main.bat

[Tst.PostSetup]
C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN
  • Signature="$CHICAGO$":必要欄位,否則 .inf 無法執行。
  • RunPreSetupCommands:執行維護腳本。
  • RunPostSetupCommands:維護完成後關機 (含切斷電源)。

3. 建立 Begin.bat — 啟動器

路徑:C:\Begin.bat

@echo off
rundll32.exe advpack.dll,LaunchINFSectionEx C:\Main.inf,DefaultInstall,,32
  • rundll32.exe advpack.dll,LaunchINFSectionEx:呼叫安裝引擎執行 .inf。
  • 參數 ,,32 表示 32 位元模式。

4. 設定排程任務 — 定時自動觸發

  1. 「控制台」→「排程任務」→「新增排程任務」→「瀏覽」選 C:\Begin.bat。
  2. 執行頻率:每週 (建議週日離峰時段,如 23:30)。
  3. 輸入管理員帳號密碼 (排程任務需系統權限)。
  4. 完成嚮導。

運作流程圖解

排程任務 (週日 23:30)
       ↓
   Begin.bat
       ↓
rundll32.exe advpack.dll,LaunchINFSectionEx Main.inf
       ↓
   Main.inf [DefaultInstall]
       ↓
┌─────────────────────┴─────────────────────┐
↓                                           ↓
RunPreSetupCommands:                   RunPostSetupCommands:
C:\Main.bat  → defrag, chkntfs...        TSSHUTDN.EXE → 關機斷電

擴充應用範例

在 Main.bat 中加入更多維護指令:

:: 備份重要資料到 D:\Backup
xcopy "D:\MyDocs\*.*" "D:\Backup\MyDocs\" /E /Y /H /R

:: 清理暫存檔
del /f /s /q "%TEMP%\*.*"
del /f /s /q "C:\Windows\Temp\*.*"

:: 系統檔案檢查 (需光碟或已複製 i386 到硬碟)
:: sfc /scannow

限制與注意事項

  • 僅限 Windows XP Professional,Home 版無 advpack.dll 完整功能,無法使用。
  • 需以管理員身分登入建立排程任務,且執行帳號必須為管理員。
  • 維護期間請勿有未儲存工作,TSSHUTDN.EXE 會強制關機不提示儲存。
  • defrag 執行時間視磁碟大小/碎片程度而定,可能長達 30-60 分鐘。
  • 建議先手動執行 Begin.bat 測試流程無誤,再啟用排程。
此技巧展現了 Windows XP 內建元件 (advpack.dll、排程任務、defrag、TSSHUTDN) 組合自動化的威力。同樣原理可擴展至備份、掃毒、修補程式安裝等任何可命令列操作的維護工作,是批次管理多台 XP 電腦的利器。
Copyright © Windows教程網 All Rights Reserved