如何每隔几分钟执行一下某个程序?

NT自带一个强大的计划任务工具,AT命令,但在这里派不上用,如果真使用AT命令那可要输入上百条命令呢,那是不可能的。但是Windows NT Resource Kit里却有些好东西可以帮助我们。

头一个是sleep.exe,用户可以使一个命令等待X秒,它的用法就是sleep <等待的秒数>,如果用户希望一个程序每1分钟运行一次,可以编辑下面的批处理命令:

sleep 60
<某个可执行文件的文件名>
<这个批处理文件的名称>

这样会带来一个问题,在这1分钟内命令会话必须保持打开。当然这也可能通过以不同线程运行程序,只要在批处理前面加上start就行了。

另一种方法是使用SOON.EXE,它可以在从现在起X秒后执行一个任务,运行这个命令必须启动scheduler服务,我们仍然使用批处理文件来使用SOON.EXE:

soon 300 <批处理文件名>
<可执行文件名>
在SOON开始执行后,如果用户希望停止它,则需要使用AT命令来获得当前计划任务列表:

C:\>at

ID Day Time Command Line
-------------------------------------------------------------------------------
0 Today 9:04 AM runsoon.cmd

在用户知道了ID号以后就可以使用AT命令中止这个计划任务。具体格式为:

C:\>at [\\计算机名] ID /delete,例如:C:\>at 0 /delete