将电脑自动化进行到底

硬件周刊

  电脑本身是一种高度自动化的信息处理工具。在电脑中几乎处处都允许灵活设置以便解放我们的工作,比如,在系统的安装、启动等方面,都是可以实现自动化。下面,我们将通过较为深入的介绍,来实现每个人都希望实现的目标──将电脑自动化进行到底。

  一、自动安装操作系统

  操作系统的安装是一件繁琐的事情,每一次安装,你不得不坐在电脑前看着屏幕的提示一步一步操作!能不能离开电脑,实现无人值守自动安装呢?当然可以!

  1.自动安装Windows 98

  (1)安装准备

  假定我们希望自动将Windows 98安装到电脑中,并且还希望自动将电脑硬件的驱动程序安装好。首先需要做好以下准备工作:

  将Windows 98安装光盘中的系统安装文件全部复制到硬盘的某个文件夹中(最好存放在C以外的分区中),这样做的好处还在于,以后如果需要从安装程序中复制文件,可以直接引用。

  将硬件的驱动程序文件复制到硬盘中,特别是对于系统本身并不能直接识别的硬件驱动程序,千万不要漏掉,否则在系统安装后你还得自行安装它们。

  注意:对于带有安装向导的那些硬件驱动程序,请先在已经安装好了Windows 98的系统中使用《驱动精灵》等软件提取相应的驱动程序文件。

  (2)利用MS Batch 98生成安装文件

  要自动安装Windows 98,需要借助安装光盘中的MS Batch 98工具制作自动安装的脚本文件。有了脚本文件的支持,安装程序将自动查询相关信息而不会向用户询问,从而实现无人值守安装。

  MS Batch 98位于Windows 98安装光盘的\Tools\Reskit\Batch文件夹中,双击其中的Setup.exe文件即可将其安装到硬盘中。

  安装完成,点击“开始→程序→Microsoft Batch 98”菜单项,启动该工具,如图1所示。

图1

  该工具包括三个部分:收集系统信息、系统设置、把设置保存为INF文件。我们需要做的就是先通过第一、二部分来创建安装描述文件内容,然后生成INF格式的脚本安装文件。

  通过点击“系统设置”选项组中的“一般安装选项”(产品的ID号、安装目录与卸载选项、用户信息、安装提示等)、“网络选项”(设置Windows 98的网络配置、协议、DNS地址、用户账号等)、“可选的组件”(自定义Windows安装的组件)、“Internet Explorer选项”(IE属性设置选项)、“高级选项”(设置Windows更新的地址等)按钮即可对每个项目进行详细设置。

  提示:对普通用户而言,“一般安装选项”和“可选的组件”项是最为常用的,请仔细填写和选择。

  设置好相关选项后,点击“保存到INF”按钮,程序将提示保存的路径与文件名(例如,Msbatch.inf),输入后点击“确定”按钮。

  提示:点击“现在收集”按钮可以从本机注册表中将有关信息导入MS Batch 98中。

  如果发现自动安装脚本文件设置不当,可再次运行MS Batch 98,然后点击“文件→打开”菜单命令,在出现的对话框中选择相应的脚本文件(INF文件),点击“确定”按钮打开。然后点击“系统设置”选项组中的相应按钮进行修改。

  (3)自动安装操作系统

  生成自动安装脚本文件之后,当需要安装Windows 98时,可用系统启动软盘(或光盘)启动系统,在DOS提示符后输入“setup X:\msbatch.inf”(X:为保存脚本文件的盘符)命令即可,之后的安装过程即可自动化完成,而无须人工干预了。

  MS Batch 98功能相当强大,如果你需要为不同计算机的Windows 98系统安装不同组件等,都可以在该工具中生成多个不同的安装脚本文件。

  提示:如果需要将本机上所作的设置也应用于其他计算机,可将此INF文件复制到新电脑某个分区中,然后执行上述命令即可。

  上面的操作可以实现在单机上自动化安装Windows 98,而在多台计算机上也可以同时使用安装脚本文件(*.inf)进行,按照下面的步骤可以为多台计算机创建自动安装脚本:

  用“记事本”新建一个文本文件(如,E:\User.txt)创建机器名文件列表。其内容格式为“计算机名,IP地址”。例如:

  User1,192.168.115.30

  User1,192.168.115.31

  User1,192.168.115.32

  注意:在输入时,必须一行一个,计算机名和IP地址间用英文逗号分隔,且最后一行为空行。如果应用的计算机较多,可使用Excel自动填充功能来创建列表,再保存为文本文件格式,以简化输入。

  启动MS Batch 98,点击“文件→多机器名保存→机器名文件”菜单命令,在出现的对话框中指定计算机的文件名为E:\User.txt,然后指定存储目的地为E:\Inst(可为任意目录),点击“保存文件”按钮即可自动在目标目录(如E:\inst)中为每个计算机创建一个INF文件。

  完成上述操作,使用相应的自动安装脚本文件即可全自动安装Windows 98,例如:

  User1机:setup E:\inst\bstp0001.inf

  User2机:setup E:\inst\bstp0002.inf

  (4)自动安装驱动程序

  Windows 98是一个不能自动识别太多硬件的操作系统,特别是对于新硬件还需要人工安装驱动程序。能否实现在安装系统时将各种硬件的驱动程序也一并安装呢?回答是肯定的。

  在Windows 98系统中,我们可以利用安装光盘中的Infinst.exe(硬件信息安装程序)来设置以便让系统自动安装驱动程序:

  将Windows 98安装光盘上的系统安装文件复制到硬盘某个目录中,例如,D:\Win98,并去掉该文件夹下中所有文件及子文件夹的“只读”属性。然后在该文件夹中建立一个文件夹,例如,Drivers,并在该文件夹下为不同硬件建立专门的驱动程序文件夹,例如,Audio、Video等。将各个硬件的驱动程序全部复制到相应文件夹中。

  在Windows 98安装光盘的\Tools\Reskit\Infinst文件夹下找到并运行Infinst.exe。在出现的程序主界面中点击“添加到Windows98安装程序的Inf”选项组中的“浏览”按钮,选择已经复制到硬盘中的各硬件的驱动程序所在文件夹中的INF文件,再点击“Windows 98 Setup.exe”选项组中的“浏览”按钮,选择Windows 98的安装程序文件(例如,D:\Win98\setup.exe)。如图2所示。之后点击“添加Inf”按钮,即可将驱动程序集成到Windows 98的安装文件中。重复该操作将所有要自动安装硬件的驱动程序都集成到系统安装文件中。

图2

  (5)刻录安装光盘

  为了以后在同种配置的其他电脑上快速安装Windows 98,不妨将前面所创建的自动应答文件和这里集成了驱动程序的安装文件做成刻录光盘,这样就不用为每一台电脑都重复以上步骤。

  先用WinISO读取Windows 98安装光盘(目的是获取该光盘的启动信息从而使刻录的目标光盘可以启动电脑),然后将其中的Windows 98安装文件(Setup.exe)用已经集成了驱动的安装文件替换掉,并把自动应答文件添加到其中,最后刻录即可。

  2.自动安装Windows XP

  Windows XP也可以实现自动安装,不过方法与Windows 98 有所不同,下面我们以使用一张已经集成了SP1的安装光盘自动安装到系统中为例说明实现步骤。

  (1)安装准备

  一张集成了SP1 的Windows XP安装光盘;一个名为“XP SP1 Deployment Tools”的软件(下载地址http://www.microsoft.com/downloads/details.aspx?FamilyID=7a83123d-507b-4095-9d9d-0a195f7b5f69&displaylang=zh-cn)。

  在D盘根目录创建一个名为“XP_CD”文件夹,将集成了SP1 的Windows XP安装光盘上的所有文件复制到该文件夹中。

  注意:是所有文件,而不仅仅是i386文件夹。这是为了日后刻录方便,如果不需刻录,只需要i386文件夹下的内容即可。

  如果要实现驱动程序的自动安装,则还需要在“XP_CD”文件夹中依次创建“$OEM$\$1\drivers\”文件夹;如果要自动安装软件,则需要创建“$OEM$\$1\install\”文件夹。然后将相应的安装文件复制到上述创建的文件夹中。

  提示:凡是希望在系统安装过程中自动安装的组件,都应该存放在“$OEM$\”文件夹下。“$OEM$”下文件夹是可以更名,但最好不要使用中文。

  (2)创建自动应答文件

  创建自动应答文件(一般为Winnt.sif文件)所需要的工具是“XP SP1 Deployment Tools”(安装管理器),将从微软主页下载的压缩文件解压到一个文件夹中,然后执行其中的“Setupmgr.exe”文件来创建自动应答文件。

  提示:在Windows XP安装光盘的\Support\Tools文件夹中也包含此工具,只要双击Deploy的压缩文件,你就可以看到其中有Setupmgz.exe和Setupmgr.dll文件,只要将这两个文件提取出来就可以运行“安装管理器”了。

  由于“安装管理器”是基于向导模式操作的,因此用来创建应答文件比较简单:

  运行安装管理器时,请选择“创建新文件”选项,然后点击“下一步”按钮。

  在出现的对话框中,程序提供了三种安装类型,其中,“无人参予安装”的应答文件为“Unattend.txt”,但如果是基于光盘安装的则必须为“Winnt.sif”;“Sysprep安装”可以创建应答文件“Sysirep.inf”,这可用于自动安装模式;“远程安装服务”则允许从远程安装(例如,网络)。在这里我们选择“无人参予安装”选项。点击“下一步”按钮。

  在出现的对话框中选择对应的Windows XP版本,即“Windows XP Professional”。点击“下一步”按钮。

  在出现的对话框中选择“全部自动”选项,点击“下一步”按钮。

  在出现的对话框中选择“从CD安装”选项,点击“下一步”按钮。

  在出现的对话框中选择“我接受许可协议”选项,点击“下一步”按钮。

  在随后的操作中,便是要求输入我们正常安装Windows XP时要输入的那些信息,如姓名、单位、序列号、机器名、安装到硬盘中的Windows文件夹名称等。如图3所示。

图3

  提示:在这里的信息并非全部都要输入,但名称、单位、时区、产品密钥、计算机名称等几个参数都是必需的;而且,“语言”选项必须选择“中文(简体)”。对于不明白的选项可以点击“下一步”跳过设置,安装程序会使用默认设置来安装。

  输入应答文件保存路径等信息,确认后等待系统完成对该文件的创建。

  完成后,程序会自动创建一个名为Unattend.txt的文件,如果要从光盘上安装系统,请记得一定将其改名为Winnt.sif(注意不要被改成了winnt.sif.txt)。

  (3)封装驱动程序

  要封装硬件驱动程序,需要在硬盘中存放Windows XP安装程序的文件夹中按顺序依次建立$OEM$→$1→Install→Drivers文件夹,最终得到如“$OEM$\1\Install\Drivers”这样嵌套的文件夹。

  注意:$OEM$文件夹和i386文件夹应该处于同一级目录,而不是位于i386之内。

  之后,在Drivers文件夹中,再新建几个文件夹分别存放各种驱动的配置文件,例如,Video、Audio等,将驱动程序文件中扩展名为INF、CAT、SYS的文件全部复制到相应目录中。

  用记事本修改Winnt.sif应答文件,在其中写入以下语句:

  [Unattended]

  OemPreinstall=Yes

  DriversigningPolicy=Ignore (这一句的作用是将没经微软认证的硬件驱动也安装)

  OEMPnPDriversPath=“install\drivers\video;install\drivers\audio” (这行告诉安装程序在哪个位置查找比光盘自带的驱动更新的驱动程序,如找到了新驱动则这些驱动就会代替操作系统自带那些,请根据自己对驱动文件夹的命名修改语句中的文件夹名称,且两项之间要用英文分号隔开)

  提示:对于那些通过安装向导实现安装的硬件,也许不太好查找其驱动程序,其实,只要在一个正常安装了该硬件的Windows XP系统中运行“驱动精灵”等软件便可以提取出来。

  (4)封装其他软件或补丁程序

  如果还想今后自动安装其他程序,则有几方面的工作要做:

  创建一个名为Cmdlines.txt的文本文件,其内容如下:

  [commands]

  ".\soft.bat"

  将此文件存放于$OEM$文件夹中,这个文件是一个特殊的文件,当Windows XP的图形安装模式结束时系统将会调用该文件。

  创建批处理文件Soft.bat并保存于“$OEM$”文件夹,在该批处理文件中包含全自动安装软件所需的语句,例如,在安装完带有SP1的Windows XP系统后还要安装此后发布的Hotfix补丁程序,则先把所有的补丁程序保存在“\XP_CD\$OEM$\$1\Install\Hotfixes\”文件夹下,在Soft.bat文件夹中写入以下语句:

  CLS

  @echo off

  ECHO.

  ECHO 正在安装微软冲击波补丁……

  start /wait %systemdrive%\install\Hotfixes\WindowsXP-KB823980-x86-CHS.exe /Q /M /Z (此处安装的补丁仅为示例,请根据实际修改补丁文件名,你可能还需要使用这种格式再添加其他补丁程序的安装语句)

  EXIT

  在Winnt.sif文件的[Unattended]字段添加以下语句:

  [Unattended]

  OemPreinstall=Yes

  UnattendSwitch="no"

  提示:根据此法,可以安装IE 6和OE 6的累积修改程序等。

  (5)在系统安装时自动调整注册表设置

  默认情况下的注册表设置或许并不如你意,借助于在无人值守时可以执行批处理文件这一点,我们可以自行创建或修改注册表设置值。

  首先编写一个批处理文件,内容为“REGEDIT /S %systemdrive%\install\RegTweaks.reg”。

  用记事本编写一个注册表文件,并保存到\XP_CD\$OEM$\$1\Install\下(主文件名可任意取,例如,RegTweak.reg),至于注册表文件中的内容完全取决于个人爱好,下面是一些例子:

  Windows Registry Editor Version 5.00

  ;下面的语句将设置自动登录选项,用想要自动登录的用户名替换Username值,用前面输入的账户密码替换Password值

  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]

  "DefaultUserName"="username"

  "DefaultPassword"="Password"

  "AutoAdminLogon"="1"

  ;下面的设置将“禁用错误报告,但在发生严重错误时通知我”

  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PCHealth\ErrorReporting]

  "DoReport"=dword:00000000

  ;下面的设置将禁用Messenger服务(这不会影响MSN Messenger的使用)

  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Messenger]

  "Start"=dword:00000004

  ;下面的设置将“禁用欢迎屏幕”并“使用传统登录窗口”

  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]

  "LogonType"=dword:00000000

  ;下面的设置将把IE可同时下载的文件数目增大为10(默认是2)

  [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]

  "MaxConnectionsPer1_0Server"=dword:0000000a

  "MaxConnectionsPerServer"=dword:0000000a

  ;下面的设置将删除快捷方式图标左下角的小箭头

  [HKEY_CLASSES_ROOT\lnkfile]

  "IsShortcut"=-

  ;下面在文件夹右键菜单中添加“进入命令行窗口”的命令

  [HKEY_CLASSES_ROOT\Directory\shell\cmd]

  @="进入命令行窗口"

  [HKEY_CLASSES_ROOT\Directory\shell\cmd\command]

  @="cmd.exe /k \"cd %L\""

  提示:仿照上法可以调整更多注册表设置。

  请记住,Winnt.sif要放在\XP_CD\i386\目录下,且在Winnt.sif文件的[GuiRunOnce]字段下添加批处理文件的路径,格式如下:

  [GuiRunOnce]

  Command0=<filename1>.bat

  如果有执行多个批处理文件,则要添加以下几行:

  Command1=<filename2>.bat

  Command2=<filename2>.bat

  (6)使用自动应答文件安装系统

  在自动应答文件创建完成之后,可用系统启动软盘(或光盘)启动系统,在DOS提示符后输入“X:\i386\winnt /U:winnt.sif”命令(X:为包含安装程序的盘符),就可以利用此应答文件进行全自动安装了。

  二、自动开、关机

  如今的电脑更智能了,要实现自动开、关机根本就是小菜一碟。

  1.实现自动开机

  在新型主板中,可以不用按下机箱面板上的电源按钮而实现自动开机。当然这与主板型号有关,不过,一般都具备“定时开机”和“网络唤醒”等功能。

  (1)定时开机

  现在的主板基本都具有“定时开机”功能,我们要做的只是在主板BIOS中进行设置:

  在电脑启动时按下DEL键进入BIOS设置界面,选择“Power Management Setup(电源管理)”项(有些主板可能需要在“Integrated Peripherals(外围设备设置)”项中设置),然后将“RTC Alarm Power On”(RTC时钟开机设置)项设置成“Enabled(允许)”,根据需要自动开机的日期在“RTC Alarm Date”(自动开机日期)项中设置日期(选择“Every Day”或者“0”,表示每天自动开机),最后在“RTC Alarm Hour”、“RTC Alarm Minute”、“RTC Alarm Second”项中设置开机的具体时刻(时、分、秒),保存设置并退出即可。

  通过上面的设置,到了预定的时刻电脑将自动启动──当然,你得保证外接电源处于联通状态。

  提示:对于自动开机选项的设定和具体的主板型号有关,请参照自己的主板。

  (2)键盘开机

  如果你的主板支持键盘开机,并且在主板上已设置好了跳线(某些主板默认并未接通此跳线),那么你只需进入BIOS中设置键盘开机参数即可。

  进入BIOS设置界面,选择“Integrated Peripherals”项或“Power Management Setup”项,然后将“Power On Function(开机功能选择)”项设置成“Enabled”,接下来在“Hot key Power On(开机热键)”项中设置一个开机的热键,保存设置并退出即可。

  提示:能否实现开机还与键盘种类、品牌等有关。一般说来,PS/2键盘的成功率大大高于USB键盘。

  (3)鼠标开机

  先在BIOS的“Integrated Peripherals”项中将“Keyboard Power On Function”项设置为“Enabled”,然后从“Power On Function”中选择“Mouse Left(鼠标左键)”项,保存设置并退出即可。

  (4)通过网络唤醒

  通过网络远程唤醒也是一种自动开机技术,主要有两种实现方式:通过网卡在局域网内自动开机和通过调制解调器开机。

  要实现局域网内远程开机,需要主板和网卡具有远程唤醒功能。目前的主板基本上都支持(可以从BIOS中查看)。由于支持远程唤醒的网卡上都有一个3针的用于网络开机的接口和一条3芯远程唤醒电缆线,所以我们只要查看网卡是否带有这种接口即可判断该网卡是否支持远程开机。

  注意:有些网卡没有该接口也可能支持远程唤醒,主要是因为现在的一些主板支持PCI 2.2标准,这个标准不需通过专门的接口为网卡供电,而是允许主板直接通过PCI插槽向网卡供电。

  在硬件连接上,需要将网卡的远程唤醒电缆的一端插入网卡的开机接口,另一端与主板上的3针远程唤醒接口相连(该接口旁一般标注有WOL_CON字样)。之后在BIOS设置中将“Power Management Setup”中的“Wake Up On LAN(局域网唤醒)”项设置为“Enable”,保存退出。接下来在主控机上安装“网络唤醒”软件并通过此软件来远程开机。

  要使用调制解调器(Modem)远程开机,同样需主板和Modem都支持。将Modem连到计算机和电话线上后,在BIOS设置中将“Power Management Setup”中的“Power On by Ring(电话铃声开机)”项设为“Enable”。只要Modem处于开启状态,拨打Modem所连的电话机的号码就可以实现远程开机。

  提示:使用Modem进行远程开机时,Modem只要侦测到电话振铃而不需接听电话就可以启动机器,因此不用担心产生电话费。

  (5)密码开机

  有些主板还具备“密码开机”功能,让你仅需通过键盘输入开机密码,便能启动电脑。对这种主板,在它的BIOS中常有两个参数需要设置:一个是“Power On Function”项应该设置为“Enabled”;另一个是在“KB Power ON Password(设置键盘开机的密码)”项输入开机密码──将光标移到该项处回车,然后在出现的输入框中输入开机密码。保存设置并退出即可。

  当设定密码开机之后,很多时候机箱面板上的“Power”按钮会自动失效。假定你希望只使用密码开机以保系统安全,而无法屏蔽面板上的“Power”按钮时,可直接拔掉主板上的“Power”插针。

  提示:某些主板在输完密码之后可能需要按下回车键才能开机。

  2.让系统自动登录

  前面只是介绍了自动开机的方法。更准确的说法是“自动加电自检并引导操作系统”,但启动操作系统后可能还需要输入用户名和密码登录,怎么才能实现系统自动登录呢?

  (1)Windows 98系统的自动登录

  对于采用了“Microsoft网络登录”方式的Windows98系统来说,每次启动后都会出现登录提示框,尽管可能没有设置登录密码,但也需要点击“确定”按钮才能登录系统,对于这种情况,有以下几种办法可以实现自动登录:

  方法一:清除电脑中的登录密码文件(*.pwl),然后在“控制面板”窗口中双击“网络”图标,在打开的“网络属性”对话框中将“主网络登录”方式设置为“Microsoft网络用户”选项即可。待系统完成相关文件的复制后重新启动计算机,第一次虽然也会出现登录提示框,直接点击“确定”按钮进入系统,以后就不会再出现登录提示框了。

  方法二:在“控制面板”窗口中双击“密码”图标,然后在出现的“密码属性”对话框中的“用户配置文件”选项组中,选中“此计算机上的所有用户都使用相同的首选项及桌面配置”选项;然后打开“网络属性”对话框,将“主网络登录”方式设置为“Microsoft 网络用户”选项,重新启动计算机即可。

  方法三:运行注册表编辑器(Regedit),在HKEY_LOCAL_MACHINE\Network\Logon\分支下,将“Username”键值更改为要自动登录的用户名,然后在HKEY_LOCAL_MACHIME\Software\Microsoft\Windows\Currentversion\Winlogon分支右边新建一个字符串值,并取名为“DefaultPassword”,将其值设置为登录口令。

  (2)Windows 2000/XP的自动登录

  对于Windows 2000/XP的自动登录,可以通过修改注册表来实现:

  运行注册表编辑器(Regedit),依次展开HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon分支,在右侧窗口中双击“DefaultUserName”键值,在出现的对话框中输入登录用户名;双击“DefaultPassword”键值,在出现的对话框中输入登录密码;双击“AutoAdminLogon”键值,在出现的对话框中将其值设置为“1”(以上键值如果没有请先新建,注意区分字母大小写)。

  另外,通过下述方法也可以免除输入用户名和密码登录之苦:点击“开始→运行”菜单项,然后在“打开”框中输入“rundll32 netplwiz.dll,UsersRunDll”命令(注意大小写),点击“确定”按钮后将打开“用户账户”对话框(这个对话框与通过“控制面板”中的“用户账户”图标打开的对话框是不同的),如图4所示。去掉“要使用本机,用户必须输入用户名和密码”选项,点击“确定”按钮,在出现的对话框中输入自动登录的用户名和密码即可。

图4

  如果你不希望针对每一种系统进行单独设置,那么,对于任何一种Windows系统要实现自动登录,都可以借助于Tweak UI系统设置软件来实现。安装该软件后,在“控制面板”窗口中双击“Tweak UI”图标,在打开的对话框中点击“登录”选项卡,选中“系统启动时自动登录”选项,再输入有效的用户名和密码,点击“确定”按钮即可。

  3.实现自动关机

  在使用电脑的过程中,有时希望它自动关机(比如,在深夜执行一个比较费时的工作后,希望电脑自动关闭),这又该怎样来实现呢?对于不同的操作系统,实现的方法不完全相同。

  (1)Windows 98下的自动关机

  在Windows 98中,我们可以使用“C:\Windows\Rundll32.exe User.exe,ExitWindows”命令来实现计算机的关闭,结合系统所带的计划任务,可以非常容易设置让Windows 98在某个时候自动关机。

  新建一个批处理文件,如Shutdown. bat,内容为上述关机语句。然后点击“开始→程序→附件→系统工具→计划任务”菜单项,双击“添加计划任务”图标,在出现的对话框中点击“下一步”按钮,在出现的对话框中点击“浏览”按钮找到并打开上述批处理文件,在出现的对话框中输入任务名称(如,关机),之后根据需要设置关机任务执行的日期和时间,最后点击“完成”按钮,此时在计划任务中就有了一个“关机”任务,并且到了预定的时刻电脑将自动关闭。

  (2)Windows 2000/XP下的自动关机

  在Windows XP系统中,提供了一个专门的关机程序Shutdown.exe(在\Windows\System32文件夹中),其实现的方法比较简单。

  例如,我们想在晚上11点让电脑自动关机,则可以点击“开始→运行”菜单项,然后在“打开”框中输入“at 23:00 Shutdown -s”命令,这样,到了晚上11点电脑即会自动出现“系统关机”对话框,如图5所示,且默认在30秒后关机。

图5

  如果你希望以倒计时方式关机,则可以按照“Shutdown.exe -s -t 倒计时秒数”命令格式来书写,如,“Shutdown.exe -s -t 3600”命令即表示1小时后自动关机,“3600”就是1小时(3600秒)。

  注意:如果在关机前还有应用程序没有关闭,则可能影响到自动关机操作,因此要在命令行后加上“-f”参数,表示强行关闭应用程序。

  除此之外,你也可以仿照利用Windows 98计划任务的方法来定制自动关机的时间(在Windows XP中叫做“任务计划”)。

  (3)软件中的自动关机设置

  在某些应用程序中也可以设置自动关机,而且这些应用程序往往可以在不同的Windows系统中使用,所以我们可以不用使用“计划任务”来实现我们的目标。

  例如,在“网际快车”中,可以点击“工具→完成后关机”菜单命令,这样,特别是当你正在下载某个大型文件时就不用等待了,在下载完成后系统将自动关闭。

  又如,在WinRAR中也可以设置自动关机。在创建压缩文档对话框中,点击“高级”选项卡,选中“完成操作后关闭计算机电源”选项即可。如图6所示。如果要使用命令行方式让WinRAR在特定时刻自动关机,则需要使用在WinRAR安装目录中的RAR.EXE文件并结合计划任务来实。使用RAR关机的命令是“rar.exe –ioff”。

图6

  三、让应用程序自动运行

  让应用程序在开机后自动运行,能从一定程度上简化操作。下面我们分别以在Windows 98和Windows XP系统中为例,介绍让应用程序自动运行的各种方法。

  1.Windows 98下应用程序的自动运行

  在Windows 98中,要让应用程序自动运行,可以通过自动批处理文件(Autoexec.bat)、注册表、启动组、Win.ini文件等来实现。

  (1)在Autoexec.bat中运行

  由于Windows 98实际上是一个16位和32位的混合系统,因此,对于一些16位程序,我们可以通过在Autoexec.bat文件中写入调用语句来自动运行一些应用程序。

  例如,C:\Windows\mscdex.exe /d:mscd001 /l:z

  注意:上述语句需要先在Config.sys文件中用“device=cdrom.sys”语句加载光驱驱动,参数中的/L用以说明光盘符为Z:该示例可用在一定程度上解决进入Windows 98后没有光驱的问题

  (2)在Winstart.bat中运行

  Winstart.bat是一个能被Windows 9X自动运行的批处理文件,它通常是应用程序或Windows自动生成的,这个文件在执行了Win.com文件并加载驱动程序后开始执行。因此通过在这个文件中添加调用命令也可以让程序自动运行。

  (3)在Win.ini中运行

  Win.ini文件的[windows]段落中有两个启动命令:“load=”和“run=”,我们可以在这两项的“=”后写入要自动运行的程序名。

  例如,“load=C:\Program Files\Microsoft office\office10\winword.exe”语句可启动Word。

  (4)在System.ini中运行

  System.ini的[boot]段下有个“shell=Explorer.exe”语句,可以在这里添加程序名让其自动运行,如“shell=Explorer.exe file.exe”(file.exe为要执行的程序名)。

  (5)在启动组中加载

  “启动组”里面的程序或快捷方式是Windows每次启动都要自动执行的,通过这个项目来实现自动运行相当简单。你只需要为程序创建一个快捷方式并将该快捷方式拖入该組即可。很多人往往一开机就会打开很多程序,使用“启动組”让其自动执行是最为简单、方便的办法。

  (6)利用注册表加载

  在注册表的以下几个位置设置键值可以让程序自动运行:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runonce

  HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\Run

  如常见的MSN Shell、网易泡泡、天网防火墙等都是在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run项中设置。以便在开机系统启动后自动运行的。

  2.Windows XP中应用程序的自动运行

  对于Windows XP系统而言,可以设置让应用程序自动运行的方法和Windows 98相比有些是不同的。

  (1)不同的“启动”组

  由于Windows XP对多用户的管理功能更为强大,因此,对于“启动”组也有不同了,有适用于全体用户的“启动组”,也有仅对当前用户有效的“启动组”,Windows自动启动的应用程序可以放在这两种不同的“启动组”中,其文件夹位置也不同:

  对于当前用户:X:\Documents and Settings\XXXXX「开始」菜单\程序\启动(X:为系统所在盘符,XXXXX为当前用户账户名);

  对于所有用户:X:\Documents and Settings\All Users\「开始」菜单\程序\启动。

  将程序的其快捷方式拖入不同的“启动组”就直接影响此程序在哪些用户的工作环境下自动运行。

  (2)通过注册表启动

  在Windows XP中,通过注册表实现应用程序自动启动与Windows 98相比有一些不同,以下注册表位置可能是程序的启动之所:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

  注意:这两个RunServicesOnce键值用来启动某种服务程序,在用户登录之前完成启动,并且比其他通过注册表启动的程序要先启动。

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

  注意:这两个RunServices键值指定的程序紧接RunServicesOnce指定的程序后运行,也在用户登录前完成启动。

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

  HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

  注意:这个RunOnce键所指定的程序会在用户登录后运行,但比其他Run键指定的程序要先运行。

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

  注意:这个RunOnce键在系统处理其他Run键及“启动組”后运行。

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

  HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load

  (3)通过登录脚本来自动运行

  在Windows XP中,我们还可以通过登录脚本来设置自动运行某个应用程序。登录脚本在登录屏幕出现前运行,其功能类似于Windows 9X的自动批处理文件(Autoexec.bat)。利用这个特性,我们可以编写一个批处理文件运行程序──只要把该批处理文件加入登录脚本中即可。

  例如,我们要让计算机启动登录时自动启动WinRAR备份某文件夹中的文档:

  先编写一个批处理文件,内容为“”C:\Program Files\winrar\winrar.exe“ a D:\Filebak D:\file”(D:\filebak为生成的压缩文件名,D:\file为要压缩的文件存放目录),复制该文件。

  点击“开始→运行”菜单项,然后在“打开”框中输入“gpedit.msc”命令,打开“组策略”编辑窗口,展开“计算机配置→Windows设置”分支,选中“脚本(启动/关机)”选项,双击右边的“启动”项打开“启动属性”对话框,点击“添加”按钮,然后点击“浏览”按钮,在打开的对话框找到并打开上面创建的批处理文件即可。如图7所示。

图7

  提示:如果希望一次启动多个应用程序,可以将调用它们的语句全部存入批处理文件中,然后将此批处理文件作为脚本文件。

  (4)让Windows XP只运行某个应用程序

  如果Windows XP在启动之后自动进入某个应用程序,而不出现桌面,这自然会从一定程度上提高计算机的安全性。例如,在启动后只想使用Word,其他程序都不要启动,这该如何实现呢?

  其实,我们只要替换掉Windows XP登录后的外壳程序(Shell)即可:

  运行注册表编辑器,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon分支,在右边找到“shell”键值,可以发现其值为“Explorer.exe”,双击该键,将其数值数据修改为Word的主程序文件(如,“E:\Program Files\Microsoft Office\OFFICE11\winword.exe”),关闭注册表编辑器后重新启动计算机,将直接出现Word窗口,当你关闭Word窗口后屏幕上一片空白──桌面、任务栏等都不见了!

  此时怎么关机呢?别急,按下Ctrl+Shift+ESC组合键打开“任务管理器”对话框,点击“关机→关闭”菜单命令即可。

  四、系统数据自动备份

  在电脑中存放的数据非常重要,特别是对于那些自己精心收集资料的更是如此,有道是“有备无患”,可是,我们总有忘记备份的时候,因此最好让系统自动将重要的数据备份好。

  1.系统数据的自动备份

  比较重要的系统数据,如系统注册表,是需要经常备份的。

  (1)自动备份Windows 98系统重要文件

  Windows 98本身具备注册表文件、Win.ini和System.ini文件的自动备份功能,在默认情况下它会把备份后的文件存放在C:\Windows\Sysbckup文件夹中,文件名为rb???.cab(???代表数字,如001、002等),默认为最近5天第一次开机的备份文件。这个备份任务是由Scanreg.exe来完成的。

  如果我们适当设置一下,还可以让Scanreg.exe程序自动备份指定的任意系统文件。需要我们做的,只是修改位于C:\Windows文件夹下的Scanreg.ini配置文件。

  用记事本打开该文件后可以发现如下内容(在可以修改的语句后已经加上了说明):

  ;

  ; Scanreg.ini for making system backups.

  ;

  ;Registry backup is skipped altogether if this is set to 0

  Backup=1 (说明:可为0或1,为1表示在每天第一次启动时运行Scanreg.exe,0则不运行)

  ;Registry automatic optimization is skipped if this is set to 0

  Optimize=1 (说明:可为0或1,为1表示每次运行Scanreg.exe时优化System.dat及User.dat文件,为0则不)

  ScanregVersion=0.0001

  MaxBackupCopies=5 (说明:“MaxBackupCopies”表示最大备份数量,最多可设置为99个,建议不要超过10,否则会占太多磁盘空间)

  ;Backup directory where the cabs are stored is

  ; \sysbckup by default. Value below overrides it.

  ; It must be a full path. ex. c:\tmp\backup

  ;

  BackupDirectory=(说明:这用来设置备份文件的存放位置,默认时什么也没有填,表示存放路径为C:\Windows\Sysbckup)

  ; Additional system files to backup into cab as follows:

  ; Filenames are separated by ','

  ; dir code can be:

  ; 10 : windir (ex. c:\windows)(说明:10、11、30、31为目录代码,10代表Windows安装目录)

  ; 11 : system dir (ex. c:\windows\system) (说明:11表示系统目录,如C:\Windows\System)

  ; 30 : boot dir (ex. c:\) (说明:30表示启动盘所在盘符根路径)

  ; 31 : boot host dir (ex. c:\) /(说明:31表示Windows所在盘根目录)

  ;

  ;Files=[dir code,]file1,file2,file3

  ;Files=[dir code,]file1,file2,file3

  如果要备份任意指定的文件,关键就在“Files=[dir code,]file1,file2,file3”这句,使用相应格式就可以实现备份,格式为“Files=<目录代码>,文件名1,文件名2,文件名3”。目录代码可从上面给定的10、11、30、31中选择。

  例如,想备份C盘下的Config.sys和Autoexec.bat文件,可在Scanreg.ini文件末尾加上“Files=30,config.sys,autoexec.bat”。

  如果要想备份其他盘的文件,是不是直接写上它的路径就行了呢?不行!得想一个转换的办法:把要自动备份的文件复制到系统所在盘下,然后就可以用上面的思路来自动备份。

  (2)自动备份Windows 2000/XP注册表

  尽管Windows 2000/XP中提供了一个备份工具,不过它可不会自动运行,如果仅仅是将其拖入启动组,虽然每次启动计算机时会自动运行它,但这个程序需要人工干预而不能实现完全自动化(可以算是“半自动化”)。

  可以选用ERUNT这个专用的注册表备份和恢复工具(下载地址http://www.skycn.com/soft/18624.html)。在ERUNT程序窗口中,“Backup to”用于指定备份文件的存放位置(默认为C:\Windows\Erdnt\下以备份的日期为名称的文件夹下),对于“Backup Options”项目,建议三项全部选中。之后点击“OK”按钮开始备份。

  为了让ERUNT自动备份注册表,需要为自动备份创建一个快捷方式,假定软件安装在“E:\Program Files\ERUNT”中,备份生成的目标文件存放在D::\Regbak下,则快捷方式的命令行应写成“E:\Program Files\ERUNT\ERUNT.EXE D:\regbak /noconfirmdelete”,把快捷方式放到启动组中,每次系统启动时就会自动备份注册表了。

  提示:如要在某时刻自动备份注册表,请用“任务计划”调用包含上述语句的批处理文件。

  (3)自动备份收藏夹

  对于收藏夹的备份可以使用IE的导出功能,可这也是需要人工操作的,有否办法实现自动备份收藏夹呢?比如,可能过一段时间我们的收藏夹项目会更丰富,我们希望每天在指定的时候都自动备份它,对于这种情况,可使用Backup4all软件实现(下载地址http://www.webattack.com/dlnow/rdir.dll?id=105747)。

  启动软件后,在自动打开的样例中已经包含了要包含的对象──“我的文档”和“IE收藏夹”,点击“View(浏览)→Properties(选项)”菜单命令,打开相应对话框,然后设置目标位置,返回后点击“Backup(备份)”按钮即可实现备份。

  如果希望每天在指定时刻自动备份同样也很简单,进入上述对话框后点击“Scheduler(日程安排)”按钮,选中“Enable Scheduler(允许日程安排)”选项,然后在下面设定日期和时间,点击“Daily(每天)”选项,设置备份间隔为“Every 1 day(s)”,点击“Save(保存)”按钮结束设置。到了预定时刻,一切都将自动化进行。

  这个软件还可以让我们灵活设定要自动备份的其他文件,你只需要创建一个新的任务,然后添加要备份的文件或文件夹,设置好备份时间即可。

  注意:为了让该软件能自动定时备份,必须让该软件一直运行,所以得将启动它的快捷方式放入启动组中以便开机时自动运行程序。

  2. 备份与还原整个系统分区

  使用GHOST进行备份和恢复分区的一般步骤大家应该是比较熟悉的了,这里要讨论的是如何实现自动化备份与还原。虽然目前有很多自动恢复系统的光盘镜像文件可供下载,但没有刻录机的用户该怎么办呢?没关系,我们可以让软盘再发挥一点余热。

  (1)备份FAT32分区格式系统

  基本思路如下(以下例子假定系统安装在C盘,即硬盘的第一个分区中):

  先制作一张Windows 98启动软盘,然后将软盘中不相干的文件全部删除,只留下可以启动系统的几个文件(IO.sys、MSDOS.sys、Config.sys、Autoexec.bat等)。

  将DOS版的GHOST文件复制到该软盘中,然后编写一个批处理文件Backup.bat存入软盘根目录,内容为“ghost -clone,mode=pdump,SRC=1:1,DST=%1\systerm.gho -z5 -sure -rb”。

  在BIOS中设置软盘优先启动,然后用此软盘启动电脑,进入DOS提示符后,输入backup并跟上要放置备份文件System.gho的盘符,比如,要将系统备份到D盘,则输入“backup d:”(bak后有一个空格),回车后将自动将系统的第一个分区备份成一个GHO文件。完成后取出该软盘即可。

  提示:在DOS提示符后输入的盘符应真实存在,且剩余空间足够。

  仿照上述思路再创建另外一个批处理文件Restore.bat也存入该启动软盘中,内容为“ghost -clone,mode =pload,SRC=%1\system.gho:1,DST=1:1 -SURE –rb”,当需要恢复系统时用该盘启动,之后在DOS提示符后输入restore并跟上包含System.gho文件的盘符,回车即可。

  提示:进行恢复之前请确保前面生成的System.gho文件没有被删除。

  如果你有可启动的U盘,可以参照上述思路将备份和恢复的批处理文件等存入其中并在BIOS中设置优先从U盘启动(需主板支持)即可。

  (2)备份NTFS分区格式系统

  由于GHOST 8.0以上版才能识别NTFS分区,所以有些用户会想到直接将8.0的Ghost.exe文件复制到软盘中再参照上面的方法就行了,但实际上,8.0的Ghost.exe文件体积有1.32MB,存入1.44MB软盘中会有问题(除去系统本身必须的文件占用外,剩余空间不够)。因此得另想办法:

  首先制作一张Windows 98的系统启动软盘,删除无关文件只留下保证能启动电脑的文件。

  启动WinImage,点击“Disk→Read Disk(读磁盘)”菜单命令,将读取该软盘(请先保证该菜单下的“User Drive A:(使用驱动器A:)”为选中状态);点击“Image(镜像)→Change Format(转换格式)”菜单命令,在出现的对话框中选择“2.88MB”选项,然后点击“OK”按钮。这样做的目的是将该软盘镜像转换为2.88MB容量大小,以便下一步装入GHOST 8.0的DOS版执行文件Ghost.exe。

  点击“Image→Inject(注入)”菜单命令,然后将Ghost.exe文件添加到软盘镜像中。

  编辑备份系统分区的批处理文件Backup.bat,内容为“ghost -clone,mode =pdump,SRC=1:1,DST=%1\systerm.gho -z5 -sure –rb”,将此文件也添加到软盘镜像中;同理创建恢复用的批处理文件Restore.bat,内容为“ghost -clone,mode =pload,SRC=%1\system.gho:1,DST=1:1 -SURE –rb”,也添加到软盘镜像中。最后点击“Save”按钮将其保存为“IMA”格式文件。

  运行Vfloppy (该软件用于在系统中创建虚拟软驱,下载地址http://www.onlinedown.net/soft/20055.htm),点击“选择映像文件的路径”按钮找到前面创建的IMA文件,然后在“显示文本”框中输入文字说明(如,“备份NTFS分区”),点击“应用”按钮,系统提示创建引导成功,需要重新启动才能生效。

  重新启动计算机,在启动菜单中将多出一个“备份NTFS分区”选项,选中它并回车将进入DOS提示符,在此输入命令“backup [盘符:]”即可。例如,输入“backup D:”,它将把为NTFS分区格式的C盘备份为System.gho文件并放置到D盘(前提是D盘为FAT32分区且有足够剩余空间),完成后将自动重新启动系统。以后恢复时只需要再次选择该选项然后使用“restore [盘符:]”即可。

  通过本法,即使C盘为NTFS格式也可以自动备份了。不过,要能实现正常备份,系统中应有一个非NTFS格式的分区用于存放备份文件(*.gho)。

  提示:如果将备份的语句写入Autoexec.bat文件中,则只要在启动菜单中选中该项并回车即可自动进入GHOST的备份进度中,但这样做有个前提──事先可以确定将备份存入哪个分区,从而在调用Ghost的语句中用盘符代替参数“%1”。

  上面,我们着重介绍了和系统有关的自动化操作。如果你更看重应用软件的自动化操作,那么,可以使用些第三方软件(如Automate)来实现。