PowerShell l oop до ($ inifinity) с таймером - PullRequest
0 голосов
/ 07 января 2020

У меня есть следующее l oop, которое выполняет серию скриптов VBS; Я хотел бы добавить MsgBox для отображения времени выполнения l oop. В целях публикации я перечислил только 5 из 200 сценариев, которые повторяет l oop.

do
{
   cscript c:\MyFiles\MyScripts\sorting1.vbs
   cscript c:\MyFiles\MyScripts\sorting2.vbs
   cscript c:\MyFiles\MyScripts\sorting3.vbs
   cscript c:\MyFiles\MyScripts\sorting4.vbs
   cscript c:\MyFiles\MyScripts\sorting5.vbs
   start-sleep -Seconds 400
}
until ($infinity)

Ответы [ 2 ]

2 голосов
/ 07 января 2020

Вы можете использовать это:

$t1 = New-TimeSpan -End (Get-Date -DisplayHint Time)
do 
{
    cscript c:\MyFiles\MyScripts\sorting1.vbs 
    cscript c:\MyFiles\MyScripts\sorting2.vbs 
    cscript c:\MyFiles\MyScripts\sorting3.vbs 
    cscript c:\MyFiles\MyScripts\sorting4.vbs 
    cscript c:\MyFiles\MyScripts\sorting5.vbs 
    start-sleep -Seconds 400 
} until ($infinity)
$t2 = New-Timespan -End (Get-Date -DisplayHint Time)
$interval = $t2 - $t1
$WshShell = New-Object -ComObject Wscript.Shell
$interval = $interval.TotalSeconds
$WshShell.PopUp("$($interval) seconds needed to complete the task.")
2 голосов
/ 07 января 2020

Вот моя версия записи времени выполнения do before с помощью метода StartNew (). Начиная сеанс, когда запускается l oop, затем останавливается, когда завершается l oop, и печатает, сколько секунд он работал.

$stopwatch =  [system.diagnostics.stopwatch]::StartNew()

do
{
    cscript c:\MyFiles\MyScripts\sorting1.vbs
    cscript c:\MyFiles\MyScripts\sorting2.vbs
    cscript c:\MyFiles\MyScripts\sorting3.vbs
    cscript c:\MyFiles\MyScripts\sorting4.vbs
    cscript c:\MyFiles\MyScripts\sorting5.vbs
    start-sleep -Seconds 400
}until ($infinity)

$stopwatch.Stop()
$stopwatch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...