.inf 檔案本為硬體安裝腳本,右鍵「安裝」即可執行內部指令。利用 rundll32.exe advpack.dll,LaunchINFSectionEx 呼叫 .inf,即可在排程中執行任意維護指令 (備份、碎片整理、清理垃圾),並在完成後自動關機。
路徑:C:\Main.bat (需管理員身分建立)
cd \ C: cd Windows\system32 defrag C: /f chkntfs C:
路徑: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 代表立即關機並切斷電源。
路徑:C:\Begin.bat
C:\Windows\System32\rundll32.exe advpack.dll,LaunchINFSectionEx C:\Main.inf,DefaultInstall,,32
此行呼叫 advpack.dll 的 LaunchINFSectionEx 函數,啟動 .inf 安裝流程,實際執行 Main.bat 內的維護指令。
C:\Begin.bat。Begin.bat。Begin.bat 呼叫 Main.inf 進入安裝模式。Main.inf 先跑 [Tst.PreSetup] → 執行 Main.bat (碎片整理、檢查磁碟)。Main.bat 結束 → 跑 [Tst.PostSetup] → 執行 TSSHUTDN.EXE 關機。在 Main.bat 加入更多指令:
xcopy 備份重要資料、del /q /s %TEMP%\*.* 清理暫存檔、cleanmgr /sagerun:1 自動磁碟清理等。
僅適用 Windows XP Professional,Home 版無 gpedit.msc 且部分元件缺失,無法執行。
善用 .inf 安裝機制,打造專屬自動維護腳本,睡前啟動,隔天早起電腦已整理完畢並關機。