我正在使用vbscript编写脚本,我希望它在x分钟后自行终止.
我想的是抓住脚本启动时的时间,然后将整个事情保持在一个循环中,直到时间是开始时间后的x分钟,但我需要它继续检查后台,而不是等到循环完成.
我想要一条消息或某些东西通知用户他们花了太长时间,我可以自己做.
有没有办法在后台跟踪时间,还是有点确定它的过程?
//T:xx按照Ekkehard.Horner的建议重新启动脚本可能是您的最佳选择.另一种略有不同的方法可能如下所示:
Const Timeout = 4 'minutes
timedOut = False
If WScript.Arguments.Named.Exists("relaunch") Then
'your code here
Else
limit = DateAdd("n", Timeout, Now)
cmd = "wscript.exe """ & WScript.ScriptFullName & """ /relaunch"
Set p = CreateObject("WScript.Shell").Exec(cmd)
Do While p.Status = 0
If Now < limit Then
WScript.Sleep 100
Else
On Error Resume Next 'to ignore "invalid window handle" errors
p.Terminate
On Error Goto 0
timedOut = True
End If
Loop
End If
If timedOut Then WScript.Echo "Script timed out."
Run Code Online (Sandbox Code Playgroud)
你仍然会重新启动脚本,但在这种情况下,你的脚本会杀死子进程,而不是脚本解释器.
| 归档时间: |
|
| 查看次数: |
9494 次 |
| 最近记录: |