标题: [问题求助] [已解决]vbs如何1分钟后跳出循环 [打印本页]
作者: 522235677 时间: 2014-6-26 19:17 标题: [已解决]vbs如何1分钟后跳出循环
本帖最后由 522235677 于 2014-6-27 18:06 编辑
复制代码
该代码会无限循环,怎样能在循环开始后1分钟跳出循环
作者: CrLf 时间: 2014-6-26 19:32
一秒后退出 vbs- WScript.exe /T:1 test.vbs
复制代码
超过一秒结束循环- t=timer
- do while timer-t<1
- ...........
- loop
复制代码
网页的话,可以这样- id=setTimeOut("loopSub()",0)
- setInterval("clearTimeOut(id)",1000)
复制代码
作者: 522235677 时间: 2014-6-26 19:39
回复 2# CrLf - Dim objShell,ret,wshshell
- set wshshell=createobject("wscript.shell")
- Set objShell = CreateObject("WSCript.Shell")
-
- t=timer
- do while timer-t<WScript.Arguments(1)
- ret = objShell.Appactivate(WScript.Arguments(0))
- If ret Then
- wshshell.sendkeys "{tab}"
- wscript.quit (10)
- end if
- loop
复制代码
我这样为什么没有效果,我第二个参数是10
作者: CrLf 时间: 2014-6-26 20:04
回复 3# 522235677
你都 wscript.quit 了,当然不循环了
作者: 522235677 时间: 2014-6-26 20:06
回复 4# CrLf
不是的,我的这个还是一直在循环,If ret Then 都没有达成,所有还没quit
作者: CrLf 时间: 2014-6-26 21:43
回复 5# 522235677
变量类型问题:- CDbl(WScript.Arguments(1))
复制代码
一般会自动转换,不懂这里为什么不会,没研究
作者: 522235677 时间: 2014-6-26 22:04
回复 6# CrLf
提示 变量使用了一个vbscript中不支持的automation 类型 CDbl
作者: CrLf 时间: 2014-6-26 22:40
回复 7# 522235677
我这是正常的:
测试用 cscript test.vbs "任意一个不存在的标题" 5 引用内容为如下代码的 vbs- Dim objShell,ret,wshshell
- set wshshell=createobject("wscript.shell")
- Set objShell = CreateObject("WSCript.Shell")
-
- t=timer
- do while timer-t<CDbl(WScript.Arguments(1))
- ret = objShell.Appactivate(WScript.Arguments(0))
- If ret Then
- wshshell.sendkeys "{tab}"
- wscript.quit (10)
- end If
- Loop
复制代码
那要不分别试试其他的办法,比如 CInt(WScript.Arguments(1)) 强制int类型转换和 WScript.Arguments(1)/1 自动double类型转换
作者: 522235677 时间: 2014-6-27 18:06
回复 8# CrLf
是我写错了……
作者: yu2n 时间: 2015-1-3 07:55
Timer() 不会在零点抽风?让我们严谨点: XD- Const nTimeOut = +5 ' 超时时间(秒)
- Dim dtStart, dtEnd
- dtStart = Now()
- dtEnd = DateAdd("s", nTimeOut, Now())
- Do While DateDiff("s", Now(), dtEnd) > 0
- WScript.Sleep 200
- ' Do Something ..
- Loop
- ' Do Something ..
- Msgbox DateDiff("s", dtStart, Now()) & " 秒过去鸟。不要嫌代码长长长 ..."
复制代码
作者: shelluserwlb 时间: 2015-1-8 20:03
加上sleep方法进行延迟,否则会进入死循环的。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |