我爱电脑技术论坛's Archiver

随意而安 发表于 2008-6-25 14:25

自动维护Windows XP另辟蹊径

Windows XP的日常维护是件既耗时又无聊的事情,如果Windows XP能够聪明一点,进行自动维护就好了。下面,就为大家介绍一种通过.inf文件让Windows XP进行自动维护的技巧,自动维护的具体内容可以任意设定,不过需要命令来实现。比如用Xcopy进行文件备份、Defrag进行磁盘碎片整理、Del删除LJ文件等等。为了讲清楚原理,下面我们以Defrag为例,你可以根据自己的需要进行修改。/Q)Mv \ l4g0T1[o

'e!k zH;Jx4o(iP   实现步骤.G2QHF[
-V/Bq1}m lX%l
  1. 建立Main.bat文件;t!}$n&G@m4I

u-u5G'K{jn   以管理员身份登录Windows XP,在系统盘的根目录下新建一个名为Main.bat的文件(文件名可以随便取,下同)并输入如下内容:0hyH"[{3JM?P

LE+l)moFy-P7KC   cd\'HH3s+@(g0LJU

(Sl_D(PJ \   C:6z%lrS6nyu
Fbu%J{qB
  cdWindows\system32
*t1}(mSa_Z7GEq}*p!k f@F/G)Er,x
  defrag C: /f
{*wC2J8U f DC n i^ NW@s
  chkntfs C:M7l`&L#[
B L6f(O G Kp
  2. 建立Main.inf文件&C4W*gu$L,ix

l)]j5t2P(W4E^   新建一个文件名为Main.inf的文件并输入:
%TRa#R.mN#[ ~x~aUB K0X
  [version]n+j9UNE:A

J&_!|5L%U'u [U uj   Signature= "$CHICAGO$"3_k5F*F1K8@ON

^Y9]D$p   AdvancedINF= 2.5,"advpack.dll"H I3|%C \I

3p(P3IH5X%W4O&q&as$L   [DefaultInstall]w)Ko*Z"a

0j`*j%B9E5mgd   RunPreSetupCommands=Tst.PreSetupY:co*` \0N/zH,z

2dVf zZ+do W   RunPostSetupCommands=Tst.PostSetupg`.J1M;Gd/\7d
0x mE b9|0?
  [Tst.PreSetup]
]&dO5?#d1CGD zQu B^d%e3?-F
  C:\Main.bat
q~eYH#R@{ `0f}#C\'hU
  [Tst.PostSetup]
,`i5j;we
7w]Etb~]   C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN
^+W B s a v d Y-T;qg&{j._
  在这个文件中,Signature必须设置为”$CHICAGO$”,否则文件将无法起作用。
ELs4W2t9]XO[#n H[-n:l~d Gw
  3. 建立Begin.bat文件
}^,j no4\[,^
&};kc3z%F TK&o!j   在C盘根目录下建立批处理文件Begin.bat,向这个文件中输入:
sF5{+hPy8~p
5roo&t?S   C:\WINDOWS\System32\rundll32.exe advpack.dll,LaunchINFSectionEx
^,q1g\/L O P#C'Ka*e\7i
  C:\Main.inf,DefaultInstall,,32
1j|hv"MGQa!Z
*k\lP3FC\_   这个命令的作用是让Windows XP启动一个硬件安装过程,从而执行.inf文件中的指令。Rundll32.exe在Windows中被用来调用DLL文件(动态链接库)中函数提供的功能。比如这里的rundll32.exe就调用了advpack.dll中的LaunchINFSectionEx函数,这个函数的作用就是启动一个.inf安装过程。不过Main.inf的内容已经和硬件安装无关,而是被我们偷梁换柱改成了系统自动维护的命令。gw"b~;[.~M
*F/|:h{{$k2{:D z
  4. 计划任务CbvN.Uw-y
.g5\2G5s8Z4T Wg C
  计划任务的作用是定期执行Begin.bat文件,实现步骤如下:
2yx b)\0D Xue(\g)M P
  (1)打开Windows XP的开始菜单进入“程序→附件→系统工具→计划任务”,双击“添加计划任务”,单击“浏览”,找到C盘根目录下面的Begin.bat文件,然后单击“下一步”按钮;'VIn%W#?#r2g{ t

,}-o ?~'{WWCl   (2)设置任务执行周期为“每周”,然后单击“下一步”按钮;
2{?)?w:l{
-L C-}A8]-wC   (3)设置执行计划任务的密码,也就是计算机的管理员密码,然后单击“下一步”按钮;
9~4ZvsOuQ#H mf|-ItN k
  (4)设置执行任务的具体日期和时间。!V%z7mfbB
&JL X2j \:|M
  在以上例子中,我们让这个计划任务每周日的23:30执行一次文件C:\Begin.bat,进行自动维护。
O!nx'QH[ w jxy;]1Q
  实现原理
A3U J%| {E ko#V
T6Ob1`.CXR   .inf文件通常用于硬件安装,其实是一个文本文件。当用户在文件上单击鼠标右键选择“安装”的时候,Windows将会根据这个文件的内容执行一系列操作,上面介绍的自动维护方法就是借助.inf文件的这个特点实现的。J7zBZ:@+rXA
O!azC*tE:Eaesx8I
  我们建立的计划任务启动时,它会调用Begin.bat。Begin.bat将使用Main.inf作为配置文件启动一个安装过程,按照Main.inf中的内容执行一系列操作。9K6yp8ZeM?
d)@$Zxq^
  Main.inf启动时会首先执行[Tst.PreSetup]段中的语句,也就是“C:\Main.bat”,Main.bat被调用时,Windows将对C:进行磁盘碎片整理工作。Main.bat的内容越丰富,自动维护的功能就越强大。
"Be1Iv.v d}N+m1y M~
  Main.bat中的命令都执行完毕后,[Trs.PostSetup]中的语句又将被执行,也就是: Q%j o3Wr7ERgG

;ZnozB(R*w Z:oM0q]   C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWNmc0|;T@)K5L)i-},D
t;TvW8W n@(n
  这个语句的作用是关闭计算机,其实是“关闭Windows XP+关闭电源”。
;Auk2y1O+r
^Ye&m7H.A   最后要注意的一点,这个方法只能在Windows XP Professionl中实现,Windows XP Home无法使用。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.