自动维护Windows XP操作系统

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无法使用 。

    推荐阅读