.inf 檔案本為硬體安裝腳本,實為文字檔。右鍵選「安裝」時,Windows 會依腳本執行操作。利用此特性搭配批次檔與排程工作,可達成無人值守自動維護。
路徑:C:\Main.bat(需管理員身分建立)
內容範例(以磁碟重組為例):
cd\ C: cd Windows\system32 defrag C: /f chkntfs C:
可自行加入 xcopy 備份、del 清除垃圾檔等指令。
路徑: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 關閉 XP、/DELAY:0 無延遲、/POWERDOWN 關閉電源。
路徑:C:\Begin.bat
內容:
C:\Windows\System32\rundll32.exe advpack.dll,LaunchINFSectionEx C:\Main.inf,DefaultInstall,,32
此指令呼叫 advpack.dll 的 LaunchINFSectionEx 函式,以 Main.inf 為組態啟動一個「安裝過程」,實際執行維護指令。
C:\Begin.bat,下一步。Begin.bat。Begin.bat 呼叫 Main.inf 啟動安裝流程。Main.inf 先執行 [Tst.PreSetup] → 執行 Main.bat 進行磁碟重組等維護。[Tst.PostSetup] → 呼叫 TSSHUTDN.EXE 關機斷電。此法僅適用於 Windows XP Professional,Home Edition 無法使用。