讓Windows XP自動維護系統

okone96發表於2007-01-22
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]中的語句又將被執行,也就是:

  C:WINDOWSSYSTEM32TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN

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

  最後要注意的一點,這個方法只能在Windows XP Professionl中實現,Windows XP Home無法使用。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750220/viewspace-892288/,如需轉載,請註明出處,否則將追究法律責任。

相關文章