jakykuang 发表于 2009-4-17 00:46:08

(讨论)关于间隔一段时间运行程序问题

现在想每间隔3小时就运行一下程序,有没有什么好方法可以不太占用系统资源的,即不用运行程序计数
我尝试过的方法:
1:使用autoit的sleep功能计时运行
$i=1
while $i<4 ;总共运行3次
sleep(150000)
run(D:\up.exe)
$i=$i+1
wend

2:使用VBS脚本计时
Set iisget =   WScript.CreateObject("WScript.Shell")   
Do While true
wscript.sleep 1500000
iisget.run"D:\up.exe",0
loop


3:使用系统自带的计划任务调用

第1,2种效果都差不多,都要运行程序或在后台计时,占有了系统差不多5M的内存,
第3种方法直接使用系统的计划任务定时调用,可以通过schtasks /create 写批处理实现,但是创建成功的要求是当前用户或设置的用户要设置密码,如果密码为空,则即使创建了也不能运行.
请问有什么好的方法与建议吗?

[ 本帖最后由 jakykuang 于 2009-4-17 01:01 编辑 ]

jakykuang 发表于 2009-4-22 00:51:04

有好方法吗??

sensel 发表于 2009-4-22 06:08:45

这个问题实在不好回答啊。
不让程序运行,又想让它定时启动。典型的又想马儿跑,又要马儿不吃草。
即使是系统自带的计划任务,也是要开相关服务,也要占资源的。

jakykuang 发表于 2009-4-22 09:15:58

系统默认都开了计划任务功能,我用了一个批处理判断服务有没有开,是否要安装服务,再用命令在组策略关了点功能,现在可以了,但会有隐患,郁闷ing

jakykuang 发表于 2009-4-22 09:20:21

rem 判断Schedule服务是否存在,若不存在,则安装服务,若服务没有启动,则启动服务
@echo   off   
sc   query   Schedule | find "FAILED" > nul   
if   %errorlevel%   EQU   0   (RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\mstask.inf)   else   net   start   Schedule

jakykuang 发表于 2009-4-22 09:20:51

有没有好点的方法???

cdinten 发表于 2009-4-22 10:27:03

learn~~~~~~~~~
页: [1]
查看完整版本: (讨论)关于间隔一段时间运行程序问题