中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何实现启动文件夹中的vbs文件延时执行
作者:
标题: [求助]如何实现启动文件夹中的vbs文件延时执行 上一主题 | 下一主题
cnds
初级用户





积分 37
发帖 36
注册 2008-12-2
状态 离线
『楼 主』:  [求助]如何实现启动文件夹中的vbs文件延时执行

我的这个vbs文件要放到启动文件夹中,让计算启动时执行的。但是我想等计算机触发这个文件2分钟之后,才执行里面的代码,想我高手帮我写延时代码。谢谢。
Set WshShell = WScript.CreateObject("Wscript.Shell") 
WshShell.Run "%comspec% /c regedit /s C:\windows\mod_reg.reg",0,true

Set WshShell = WScript.CreateObject("WScript.Shell") 
strDesktop = WshShell.SpecialFolders("Desktop") 
set oShellLink = WshShell.CreateShortcut(strDesktop & "\腾讯QQ.lnk") 
oShellLink.TargetPath = "D:\backup\qq\QQ.exe" 
oShellLink.WindowStyle = 2 
oShellLink.Hotkey = "" 
oShellLink.IconLocation = "D:\backup\qq\QQ.exe, 0" 
oShellLink.Description = "" 
oShellLink.WorkingDirectory = "D:\backup\qq" 
oShellLink.Save

set fso=wscript.createobject("scripting.filesystemobject")
fso.deletefile "C:\windows\mod_reg.reg"
fso.deletefile "C:\Docume~1\Administrator\「开始」菜单\程序\启动\mod_reg.vbs"
───────────────── 版务记录 ───────────────── 执行:HAT 操作:[2008-12-06]在帖子标题中增加搜索关键字 说明:原标题"请高手帮我加入延时代码,达到延时执行之目的"不利于论坛搜索 处罚:论坛新人免于积分处罚 提示:建议阅读以下帖子 {1415}提问的智慧 {7326}论坛新手必读,所有人的基本行为准则 {22703}请不要做浮躁的人 {32667}[愤怒]那些连标题都写不清楚的人们啊,你们醒醒吧 {32825}本版严厉整顿烂帖 ───────────────── 版务记录 ───────────────── [ Last edited by HAT on 2008-12-6 at 20:44 ]


2008-12-6 20:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
406317577
初级用户





积分 98
发帖 45
注册 2008-8-30
状态 离线
『第 2 楼』:  

ping -n 120 127.1>nul call 你的VBS文件名字


2008-12-7 01:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
guigui
初级用户





积分 102
发帖 48
注册 2008-3-18
状态 离线
『第 3 楼』:  

我记得有位大哥写过的 内容如下: 批处理延时方法小结: 1.ping CODE: [Copy to clipboard] @echo off :loop echo %time% ping 127.1 -n 2 1>nul echo %time% goto loop 内存使用: cmd.exe 1704k ping.exe 2920k 误差评定: 较高 优点: 代码构造简单 缺点: 内存占用高,延迟时间长的话误差相对较大。 2.还是ping CODE: [Copy to clipboard] @echo off :loop echo %time% ping 1 -n 1 -w 1000 2>nul 1>nul echo %time% goto loop 内存使用: cmd.exe 1700k ping.exe 2912k 误差评定: 一般 优点: 代码构造简单,时间越长误差越小,精确度较高(50ms) 缺点: 内存占用高 3.call CODE: [Copy to clipboard] @echo off :loop echo %time% call :delay 1000 echo %time% goto loop :delay set /a num=num + 1 if %num% geq %1 (set num=) && goto :eof rem for /l %%i in (1,1,%1) do echo. >nul goto :eof 内存使用: cmd.exe 1744k [for语句方案] cmd.exe 1740k [set+goto方案] 误差评定: 很高 (受CPU频率影响非常大,几乎无法准确把握全局延迟时间) 优点: 精确度较高 缺点: 不适合需精确把握时间的场合 4.msg CODE: [Copy to clipboard] @echo off :loop echo %time% msg %username% /time:20 /w "正在延时,点确定可以取消延时!" echo %time% goto loop 内存使用: cmd.exe 1752k msg.exe 2620k 误差评定: 低 优点: 比较稳定,可中途取消延时,代码构造简单 缺点: 内存占用非常大,有窗口弹出(优点?缺点?) 5.vbs CODE: [Copy to clipboard] @echo off echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs :loop echo %time% cscript //b //nologo %tmp%\delay.vbs 2000 echo %time% goto loop 内存使用: cscript.exe 4812k cmd.exe 1708k 误差评定: 很低 优点: 精确度最高,使用更灵活,方便 缺点: 产生临时文件,内存占用多


2008-12-7 11:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cnds
初级用户





积分 37
发帖 36
注册 2008-12-2
状态 离线
『第 4 楼』:  

你们写的好复杂。我找到一个更简单的。比如想延时5秒,
wscript.sleep 5000
这个命令可以插入VBS程序中,这句代码后面的所有代码都将延迟5秒再执行。


2008-12-7 19:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
313885174
中级用户





积分 206
发帖 100
注册 2007-7-9
状态 离线
『第 5 楼』:  

timediff=60 wscript.sleep timediff*2000 计算60次2秒正好是2分钟


2008-12-8 22:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
5872169
高级用户





积分 959
发帖 474
注册 2007-10-25
状态 离线
『第 6 楼』:  

wscript.sleep 120000 这是二分钟


2008-12-9 14:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: