找回密码
 加入
搜索
查看: 2449|回复: 6

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

[复制链接]
发表于 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脚本计时
[VBS]Set iisget =   WScript.CreateObject("WScript.Shell")   
Do While true
wscript.sleep 1500000
iisget.run"D:\up.exe",0
loop
[/VBS]

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

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

[ 本帖最后由 jakykuang 于 2009-4-17 01:01 编辑 ]
 楼主| 发表于 2009-4-22 00:51:04 | 显示全部楼层
有好方法吗??
发表于 2009-4-22 06:08:45 | 显示全部楼层
这个问题实在不好回答啊。
不让程序运行,又想让它定时启动。典型的又想马儿跑,又要马儿不吃草。
即使是系统自带的计划任务,也是要开相关服务,也要占资源的。
 楼主| 发表于 2009-4-22 09:15:58 | 显示全部楼层
系统默认都开了计划任务功能,我用了一个批处理判断服务有没有开,是否要安装服务,再用命令在组策略关了点功能,现在可以了,但会有隐患,郁闷ing
 楼主| 发表于 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
 楼主| 发表于 2009-4-22 09:20:51 | 显示全部楼层
有没有好点的方法???
发表于 2009-4-22 10:27:03 | 显示全部楼层
learn~~~~~~~~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 04:16 , Processed in 0.079067 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表