有时候我需要定时启动或关闭某个指定软件,比如希望每天上午8点启动Windows Media Player播放音乐,有没有方便的解决方案?
【解题思路】
Windows集成的“计划任务”功能即可实现。不过“计划任务”操作起来有点麻烦,所以对新手来说还可以试试Freebyte Task Scheduler,更容易上手。不过这两种方法都只能定时启动软件,无法定时关闭软件,而这可以通过系统的Schtask和ntsd命令来完成。
【解题思路】
关于Windows的“计划任务”,CFan上已经介绍过不少了,而且这一方法操作也很繁琐,所以这里我推荐使用第三方定时软件Freebyte Task Scheduler(以下简称为FTS)。
FTS的主界面非常简单(图1),点击左下方“+”号按钮即可创建一个任务,在随之弹出的设置窗口的“Task name”右侧输入任务名称(如a1),点击“Program Location”右侧“…”按钮找到要启动的程序执行文件,本例的Windows媒体播放器程序位置为C:\Program Files\Windows Media Player\wm(图2),程序参数设置为“/prefetch:1”,勾选“Active”。
接下来设置启动日期和时间,其中“Once at date”是在某天只启动一次,“Weekly”是一周启动一次(右侧还能勾选在星期几启动),“Daily”是每日启动,最后在右侧指定启动时间(比如“下午3:18:48”),点“Save”保存设置即可,比“计划任何”简单多了吧。
回到软件主界面,中间空白区域显示出刚刚添加的a1任务,选择该任务,然后点击Task菜单或左下方的+、-、播放等按钮,即可对该任务执行删除、修改、立即执行等操作。假如你要测试刚才的设置是否正确,可以先选择a1任务,再点左下方的播放图标按钮,将会弹出一个提示框询问是否现在测试,点“Yes”即可看到该任务能否启动了。设置无误后,以后到了指定时间就会自动启动指定的程序。
系统命令定时启动/关闭软件
“计划任务”和FTS都只能定时启动,却无法定时关闭程序,这时我们可借助系统自带的ntsd和Schtask命令来实现。ntsd可以结束任何进程(除System、SMSS.EXE和CSRSS.EXE),利用进程名结束进程的命令格式为(其中***为要关闭的进程或程序名):
ntsd -c q -pn ***.exe
按Win+X键打开快捷菜单,选择“命令提示符(管理员)”启动命令提示符窗口。如果用Schtask命令启动或关闭某程序,可输入以下命令(图3):
Schtasks /create /sc daily /tn a2 /tr “%Program Files%\Windows Media Player\wm” /st 08:00:00 /et 09:00:00(创建任务a2,每天8点启动WMP、9点关闭之)。注意“/sc”是设置任务频率,“/st”是何时启动,“/et”是何时关闭,时间8点必须输入成“08:00:00”。
小提示:
通过at和ntsd命令组合,也可以实现启动或关闭程序的目的。同样以Windows媒体播放器为例,其他以此类失。上午8点启动媒体播放器命令:
at 8:00AM c:\Program Files\Windows Media Player\wm
9点自动关闭媒体播放器命令:
at 9:00AM ntsd -c q -pn c:\Program Files\Windows Media Player\wm
可以将上面的命令代码写入BAT批处理中,双击即可执行,到了设定的时候,就会自动启动或关闭指定程序了。