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

Windows XP 自動化維護實戰:.INF 檔案搭配排程工作實現定時碎片整理與關機

編輯:XP 系統基礎知識

Windows XP 自動化維護實戰:.INF 檔案搭配排程工作

Windows XP 日常維護 (碎片整理、磁碟檢查、清理暫存檔、備份) 繁瑣且易忘。利用 .inf 安裝腳本特性搭配排程工作,可實現完全自動化:設定好後系統按排程自動執行維護指令並可選擇自動關機,真正達到「設定一次,長期受益」。

核心原理

  • .inf 檔案原為硬體安裝腳本,右鍵「安裝」會觸發系統依腳本執行操作。
  • rundll32.exe advpack.dll,LaunchINFSectionEx 可在命令列啟動 .inf 腳本。
  • 腳本中 [DefaultInstall] 區段的 RunPreSetupCommands 與 RunPostSetupCommands 分別指定安裝前/後執行的命令。
  • 排程工作定期啟動批次檔呼叫 .inf,形成完整自動化鏈。

實作步驟:每週自動碎片整理 + 磁碟檢查 + 關機

1. 建立維護批次檔 C:\Main.bat

@echo off
cd /d C:\Windows\System32
defrag C: /f
chkntfs C:

defrag C: /f 強制碎片整理 C:;chkntfs C: 檢查檔案系統 (下次重開機執行)。可自行加入 cleanmgr /sagerun:1、xcopy 備份指令等。

2. 建立安裝腳本 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$" 必須完全一致,否則腳本不執行。
TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN 為強制關機並切斷電源 (需支援 ACPI)。

3. 建立啟動批次檔 C:\Begin.bat

C:\Windows\System32\rundll32.exe advpack.dll,LaunchINFSectionEx C:\Main.inf,DefaultInstall,,32

呼叫 advpack.dll 的 LaunchINFSectionEx 函數執行 Main.inf 的 DefaultInstall 區段。

4. 設定排程工作

  1. 開始 → 程式集 → 附屬應用程式 → 系統工具 → 排程工作 → 「新增排程工作」。
  2. 瀏覽選擇 C:\Begin.bat。
  3. 設定執行頻率:每週 (建議週日深夜,如 23:30)。
  4. 輸入系統管理員帳號密碼 (排程工作需管理員權限執行碎片整理與關機)。
  5. 完成精靈。

執行流程示意

排程工作 (每週日 23:30)
    ↓ 執行 Begin.bat
rundll32.exe advpack.dll,LaunchINFSectionEx Main.inf
    ↓ 載入 Main.inf
[Tst.PreSetup] → 執行 Main.bat → defrag + chkntfs
    ↓ 完成
[Tst.PostSetup] → 執行 TSSHUTDN.EXE → 關機斷電

進階擴充建議

  • 多磁碟維護: Main.bat 中加入 defrag D: /f、defrag E: /f 等。
  • 備份指令: xcopy "C:\MyData" "D:\Backup\MyData" /E /C /H /R /Y。
  • 事件記錄: 在 Main.bat 開頭加入 eventcreate /T INFORMATION /ID 100 /L APPLICATION /SO "AutoMaint" /D "Weekly maintenance started"。
  • 錯誤處理: 批次檔使用 IF ERRORLEVEL 判斷指令成敗,寫入日誌。

限制與注意事項

  • 僅適用 Windows XP 專業版 (家庭版無 gpedit.msc 且部分命令受限)。
  • 排程工作需管理員密碼,密碼變更時必須更新排程工作認證。
  • TSSHUTDN.EXE 需硬體支援 ACPI 關機,舊主機板可能無法斷電。
  • 執行期間請勿有未儲存的工作,系統將強制關閉所有程式。

結語

利用 .inf 腳本繞過互動式介面,搭配排程工作實現真正的無人值守維護。這技巧不僅限於碎片整理,任何可命令列執行的維護動作 (備份、掃毒、更新、清理) 皆可納入 Main.bat,打造專屬自動化維護方案。

Copyright © Windows教程網 All Rights Reserved