您想要每次启动Windows都自动运行某个应用程序吗?很容易——把应用程序的快捷方式拖曳到Startup项目组里就行了。但是,如果需要运行的是病毒扫描程序、备份程序、整理硬盘碎片程序及其他的常规维护任务,那您一定不会希望每次等着它们执行完毕才能进Windows吧……
也许您会说,Windows的计划任务能让上述维护任务在每天电脑闲置的时候自动进行。不过那样的话,您的电脑得一直开着。如果我们希望电脑能在执行完相关任务后自动关机,总不能指望电脑知道这心愿……我们是可以创建一个“Shutdown”任务组,当我们关机后就可以离开电脑,让电脑在关机之前自动去完成诸如系统维护等一些任务。这样还将有一个好处,就是能把那些老在启动时把自己写入注册表的程序拒之门外。
好,现在第一个问题是:怎样不必买额外的软件就能给Windows加上一个Shutdown组?第二个问题是:怎样创建一个注册表文件,在您每次关机时能自动清除您不想要的注册表项?下面,让我们一起来解决这些问题。
创建Shutdown文件夹
不知您是否注意到:只有Windows 2000/XP才能在关机时自动执行某个文件夹里的内容,而Windows
9x/Me则不行(因此需要其他的办法,待会儿再介绍)。为了让您有一个像Startup文件夹一样的Shutdown文件夹,右击“开始”,选择“打开”。现在,双击“程序”,然后在程序文件夹里新建一个文件夹,为这个子文件夹起名为“Shutdown”。打开Shutdown文件夹,把所有您想要在关机时运行的程序的快捷方式添加进来(用鼠标右键拖曳某个程序项进来即可)。
Shutdown组里的程序项最好是那些能在完成任务后自动关闭的工具文件或批处理文件(如图1)。要用磁盘维护工具,您可能需要懂得一些特殊的命令行选项。您还可以创建一个能备份您当日工作的批处理文件,或者一个能启动病毒扫描的快捷键,建议您问问您的反病毒软件商,还有哪些命令行选项是推荐每日检查的。
记住,Shutdown文件夹里的快捷方式的名称不能带有空格,如果某个移植过来的项目名称带有空格,请按F2键,输入一个无空格的新名字。
为Shutdown写批处理文件
现在需要写一个批处理文件,能命令电脑在接到关机指令后先运行您的Shutdown项目组程序,然后自动关机。选择“开始”*“程序”*“附件”*“记事本”。打开记事本后,开始写批处理文件。批处理文件的头3行只适用于Windows
2000和XP。
第一行的内容如下:
dir /b 您的Shutdown文件夹的路径
注意:如果路径中含有空格或者长文件名,需要用引号括起来。接下来是一个空格和一个大于号“>”,然后敲入拟保存这个批处理文件的路径,最后是这个批处理文件的名字。
要找到文件路径,只需在浏览器里打开该文件夹,地址栏里显示的就是路径。如果您还是没有找到,就选择“工具”*“文件夹选项”*“查看”*“显示完整路径”。
/b选项指的是只列出文件名,不列其他信息。
您的第一行大约应该输入以下内容:
dir /b "C:\Documents and Settings\Scott\Start
Menu\Programs\Shutdown">"c:\batch\run_it.bat"
在第二行,输入的内容如下:
cd /d 您的shutdown文件夹的路径
/d选项保证的是当前提示符指向正确的磁盘。一个实例如下:
cd /d "C:\Documents and Settings\Scott\Start Menu\Programs\Shutdown"
最后一行的作用是运行这个批处理文件。例如:
call c:\batch\run_it.bat
当写这个批处理程序时,都可能需要为那些在Shutdown文件夹里没有相应的快捷方式的工具程序加上一行代码(在Windows
9x/Me里,这是惟一实现关机前运行程序的办法)。比如,您写了如下一行:
c:\windows\scandskw.exe c: d: /n
对于那些在运行完会自动关闭的程序,在该行的开头加上start/w,特别当这程序的运行需要一定的时间,/w选项会让批处理程序暂停,等待该行执行完再进入下一行。
最后,还要加上一行来命令机器“关闭Windows”。如果您用的是Windows
XP或2000,除了把程序的快捷方式放进Shutdown组外,还需要在批处理文件的最后一行里加上-t选项来控制Windows关闭时间,-t后面加空格,然后加上需要等待的秒数,比如-t
9999,能让Windows在关机之前等待3个小时左右(见图2)。
现在选择“文件”*“保存”,给这个批处理文件起个名字,例如“Shutdwn.bat”,把它存在您通常保存批处理文件的目录里。然后把它的图标放入开始菜单。下一次,当您在退出Windows时希望运行一些自检程序再关闭,您就可以点这个图标,而不是通常所点的“关闭计算机”项。
阻止那些下次自动加载程序
Shutdown文件夹的另一个好处是可以帮助清理注册表里顽固的废物。
很多程序总是试图将自己运行在系统任务栏里,即使并没有启动它们。您可以用一些小软件管理它们,控制在进入Windows时自动加载的程序,但是,有些程序(例如QuickTime)在每次升级系统,甚至每次执行该程序时,都会重新把自己写入自动加载……您只有常常检查可疑的注册表项。选“开始”*“运行”,在命令行里写入“regedit”,按回车键,进入注册表编辑器,找到类似这样的命令行:
HKEY_CURRENT_USER\Software\
Microsoft\Windows\CurrentVersion\Run 或HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows\CurrentVersion\Run
QuickTime的就是后一种。
先备份注册表,把修改前的注册表文件备份一份,放在稳妥的地方(见图3)。
现在回到注册表,选择“导出”,指定一个文件夹存放您将修改的注册表版本。如果您计划用写批处理文件的方式来修改注册表(就像上面写shutdown批处理文件那样),在此时您就选择把注册表的修改版本存在您放批处理文件的文件夹里。
打开浏览器,找到您刚才导出的注册表文件,右击图标,选“编辑”。找到希望移除的程序对应的命令行,不改变“=”之前的部分,删去“=”之后的所有内容,代之以一个“-”连字符。例如,要删去的是QuickTime的注册表项,现在它变成了“QuickTime
Task=-”。依此,对所有要阻止的程序的注册表项都做此操作。
最后,删去您的注册表文件中所有其他的内容。当做完之后,上方应只剩下2行(一个显示注册表版本、另一个给出要删改的路径),以下的每一行都是在对一个程序删去其注册表项。然后保存这个修改后的注册表文件(见图4)。
双击这个导出并修改后的注册表文件图标,不让不需要的程序加载。如果觉得这样做比较麻烦,不如再用一个快捷方式来自动回应,右击Shutdown文件夹,选择“新建”*“快捷方式”。快捷方式的目标写regedit
/s,然后加一个空格,最后是您修改后的注册表文件的路径。比如,如果把文件存在C:\Windows\Batch,那么该快捷方式指向的就是regedit
/s "C:\Windows\Batch\Startup Stopper.reg"。
-宝丁编译自PC World[美]