http://news.sina.com.tw/tech/sinacn/cn/2007-05-18/093738158729.shtml

小技巧:讓Windows XP能夠全自動維護系統

北京新浪網 (2007-05-18 09:37)

 

 

  Windows XP的日常維護是件既耗時又無聊的事情,如果Windows XP能夠聰明一點,進行自動維護就好了。下面,就為大家介紹一種通過.inf文件讓Windows XP進行自動維護的技巧,自動維護的具體內容可以任意設定,不過需要命令來實現。比如用Xcopy進行文件備份、Defrag進行磁片碎片整理、Del刪除垃圾文件等等。為了講清楚原理,下面我們以Defrag為例,你可以根據自己的需要進行修改。

 

  實現步驟

 

  1、建立Main.bat文件

 

  以管理員身份登錄Windows XP,在系統盤的根目錄下新建一個名為Main.bat的文件(文件名可以隨便取,下同)並輸入如下內容:

 

  cd\

 

  C:

 

  cd Windows\system32

 

  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:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN

 

  在這個文件中,Signature必須設置為』$CHICAGO$』,否則文件將無法起作用。

 

   

 

 3、建立Begin.bat文件

 

 

  在C盤根目錄下建立批處理文件Begin.bat,向這個文件中輸入:

 

  C:\WINDOWS\System32\rundll32.exe advpack.dll,LaunchINFSectionEx

 

  C:\Main.inf,DefaultInstall,,32

 

  這個命令的作用是讓Windows XP啟動一個硬體安裝過程,從而執行.inf文件中的指令。Rundll32.exeWindows中被用來調用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.batBegin.bat將使用Main.inf作為配置文件啟動一個安裝過程,按照Main.inf中的內容執行一系列操作。

 

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

 

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

 

  C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN

 

  這個語句的作用是關閉電腦,其實是『關閉Windows XP+關閉電源』。

 

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

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ivan0914 的頭像
    ivan0914

    I'n Blog 之萬象真藏

    ivan0914 發表在 痞客邦 留言(0) 人氣()