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 檔案本為硬體安裝腳本,右鍵「安裝」即可執行內部指令。利用 rundll32.exe advpack.dll,LaunchINFSectionEx 呼叫 .inf,即可在排程中執行任意維護指令 (備份、碎片整理、清理垃圾),並在完成後自動關機。

實作步驟 (以 C: 磁碟碎片整理為例)

1. 建立 Main.bat (維護指令腳本)

路徑:C:\Main.bat (需管理員身分建立)

cd \
C:
cd Windows\system32
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$,否則不執行。
TSSHUTDN.EXE 參數:0 /DELAY:0 /POWERDOWN 代表立即關機並切斷電源。

3. 建立 Begin.bat (觸發器)

路徑:C:\Begin.bat

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

此行呼叫 advpack.dll 的 LaunchINFSectionEx 函數,啟動 .inf 安裝流程,實際執行 Main.bat 內的維護指令。

4. 設定計劃任務

  1. 控制台 → 排程工作 → 新增排程工作 → 瀏覽選 C:\Begin.bat。
  2. 執行週期:每週 / 每日視需求 (範例:每週日 23:30)。
  3. 輸入管理員帳號密碼。
  4. 完成。

運作流程

  1. 排程觸發 → 執行 Begin.bat。
  2. Begin.bat 呼叫 Main.inf 進入安裝模式。
  3. Main.inf 先跑 [Tst.PreSetup] → 執行 Main.bat (碎片整理、檢查磁碟)。
  4. Main.bat 結束 → 跑 [Tst.PostSetup] → 執行 TSSHUTDN.EXE 關機。

擴充應用

在 Main.bat 加入更多指令:
xcopy 備份重要資料、del /q /s %TEMP%\*.* 清理暫存檔、cleanmgr /sagerun:1 自動磁碟清理等。

限制

僅適用 Windows XP Professional,Home 版無 gpedit.msc 且部分元件缺失,無法執行。

善用 .inf 安裝機制,打造專屬自動維護腳本,睡前啟動,隔天早起電腦已整理完畢並關機。

Copyright © Windows教程網 All Rights Reserved