Terminate vbscript after x minutes

前端 未结 4 1362
鱼传尺愫
鱼传尺愫 2021-01-14 03:09

I am working on a script with vbscript, and I would like it to terminate itself after x number of minutes.

I was thinking something like grabbing the time when the s

4条回答
  •  失恋的感觉
    2021-01-14 04:14

    cscript
    Usage: CScript scriptname.extension [option...] [arguments...]
    
    Options:
     //B         Batch mode: Suppresses script errors and prompts from displaying
     //D         Enable Active Debugging
     //E:engine  Use engine for executing script
     //H:CScript Changes the default script host to CScript.exe
     //H:WScript Changes the default script host to WScript.exe (default)
     //I         Interactive mode (default, opposite of //B)
     //Job:xxxx  Execute a WSF job
     //Logo      Display logo (default)
     //Nologo    Prevent logo display: No banner will be shown at execution time
     //S         Save current command line options for this user
     **//T:nn      Time out in seconds:  Maximum time a script is permitted to run**
     //X         Execute script in debugger
     //U         Use Unicode for redirected I/O from the console
    

    Update:

    To help people who downvote a plain (and to the point) citation of cscript.exe's usage message (how can that be wrong?) to see the light through @PanayotKarabakalov's smoke screen:

    The claim:

    using //T switch not guarantee real time accuracy

    that all 5 Echo command executed, even if the Sleep time between them is 1.5 second and the //T is set to 4

    The evidence:

    The script is restarted via:

    CreateObject("WScript.Shell").Run "WScript " & _
        Chr(34) & WScript.ScriptFullName & _
        Chr(34) & " /T:4", 0, False
    

    which does not contain the host-specific //T (as opposed to the script-specific /T) switch.

    The (counter) argument:

    Whatever way you start the first instance of the script (//T or no //T), the second/relaunched instance will never have a time out and will always run to the bitter end.

    If you still have doubts, change the invocation in P.'s script to

     CreateObject("WScript.Shell").Run "WScript //T:4 " & _
    

    and try it out.

提交回复
热议问题