中国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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: