How can you set a time limit for a PowerShell script to run for?

前端 未结 6 975
再見小時候
再見小時候 2021-01-05 15:36

I want to set a time limit on a PowerShell (v2) script so it forcibly exits after that time limit has expired.

I see in PHP they have commands like set_time_limit an

6条回答
  •  遥遥无期
    2021-01-05 16:04

    How about something like this:

    ## SET YOUR TIME LIMIT
    ## IN THIS EXAMPLE 1 MINUTE, BUT YOU CAN ALSO USE HOURS/DAYS
    # $TimeSpan = New-TimeSpan -Days 1 -Hours 2 -Minutes 30
    $TimeSpan = New-TimeSpan -Minutes 1
    $EndTime = (Get-Date).AddMinutes($TimeSpan.TotalMinutes).ToString("HH:mm")
    
    ## START TIMED LOOP
    cls
    do
    {
    ## START YOUR SCRIPT
    Write-Warning "Test-Job 1...2...3..."
    Start-Sleep 3
    Write-Warning "End Time = $EndTime`n"
    }
    until ($EndTime -eq (Get-Date -Format HH:mm))
    
    ## TIME REACHED AND END SCRIPT
    Write-Host "End Time reached!" -ForegroundColor Green
    

    When using hours or days as a timer, make sure you adjust the $TimeSpan.TotalMinutes and the HH:mm format, since this does not facilitate the use of days in the example.

提交回复
热议问题