天天看點

讓Windows XP自動維護系統

這個方法隻能在Windows XP Professionl中實作,Windows XP Home無法使用。Windows XP的日常維護是件既耗時又無聊的事情,如果Windows XP能夠聰明一點,進行自動維護就好了。下面,就為大家介紹一種通過.inf檔案讓Windows XP進行自動維護的技巧,自動維護的具體内容可以任意設定,不過需要指令來實作。比如用Xcopy進行檔案備份、Defrag進行磁盤碎片整理、Del删除垃圾檔案等等。為了講清楚原理,下面以Defrag為例,你可以根據自己的需要進行修改。 實作步驟:

1. 建立Main.bat檔案

  以管理者身份登入Windows XP,在系統盤的根目錄下建立一個名為Main.bat的檔案(檔案名可以随便取,下同)并輸入如下内容:

  cd

  C:

  cd Windowssystem32

  defrag C: /f

  chkntfs C:

2. 建立Main.inf檔案

  建立一個檔案名為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:WINDOWSSYSTEM32TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN

  在這個檔案中,Signature必須設定為”$CHICAGO$”,否則檔案将無法起作用。

3. 建立Begin.bat檔案

  在C槽根目錄下建立批處理檔案Begin.bat,向這個檔案中輸入:

  C:WINDOWSSystem32 undll32.exe advpack.dll,LaunchINFSectionEx

  C:Main.inf,DefaultInstall,,32

  這個指令的作用是讓Windows XP啟動一個硬體安裝過程,進而執行.inf檔案中的指令。Rundll32.exe在Windows中被用來調用DLL檔案(動态連結庫)中函數提供的功能。比如這裡的rundll32.exe就調用了advpack.dll中的LaunchINFSectionEx函數,這個函數的作用就是啟動一個.inf安裝過程。不過Main.inf的内容已經和硬體安裝無關,而是被偷梁換柱改成了系統自動維護的指令。

4. 計劃任務

  計劃任務的作用是定期執行Begin.bat檔案,實作步驟如下:

  (1)打開Windows XP的開始菜單進入“程式→附件→系統工具→計劃任務”,輕按兩下“添加計劃任務”,單擊“浏覽”,找到C槽根目錄下面的Begin.bat檔案,然後單擊“下一步”按鈕;

  (2)設定任務執行周期為“每周”,然後單擊“下一步”按鈕;

  (3)設定執行計劃任務的密碼,也就是計算機的管理者密碼,然後單擊“下一步”按鈕;

  (4)設定執行任務的具體日期和時間。

  在以上例子中,筆者讓這個計劃任務每周日的23:30執行一次檔案C:Begin.bat,進行自動維護。

實作原理

  .inf檔案通常用于硬體安裝,其實是一個文本檔案。當使用者在檔案上單擊滑鼠右鍵選擇“安裝”的時候,Windows将會根據這個檔案的内容執行一系列操作,上面介紹的自動維護方法就是借助.inf檔案的這個特點實作的。

  建立的計劃任務啟動時,它會調用Begin.bat。Begin.bat将使用Main.inf作為配置檔案啟動一個安裝過程,按照Main.inf中的内容執行一系列操作。

  Main.inf啟動時會首先執行[Tst.PreSetup]段中的語句,也就是“C:Main.bat”,Main.bat被調用時,Windows将對C:進行磁盤碎片整理工作。Main.bat的内容越豐富,自動維護的功能就越強大。

  Main.bat中的指令都執行完畢後,[Trs.PostSetup]中的語句又将被執行,也就是:

  這個語句的作用是關閉計算機,其實是“關閉Windows XP+關閉電源”。

繼續閱讀