x分钟后终止vbscript

Mat*_*ler 3 vbscript time

我正在使用vbscript编写脚本,我希望它在x分钟后自行终止.

我想的是抓住脚本启动时的时间,然后将整个事情保持在一个循环中,直到时间是开始时间后的x分钟,但我需要它继续检查后台,而不是等到循环完成.

我想要一条消息或某些东西通知用户他们花了太长时间,我可以自己做.

有没有办法在后台跟踪时间,还是有点确定它的过程?

Ans*_*ers 7

//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)

你仍然会重新启动脚本,但在这种情况下,你的脚本会杀死子进程,而不是脚本解释器.