У меня есть хеш-таблица, которую я добавляю при создании заданий со следующим кодом:
$jobtimer = @{}
1..10 | foreach {
Start-Job -name $_ -ScriptBlock {
Start-Sleep -Seconds (Get-Random -Minimum 456 -Maximum 46546520)
}
$jobtimer[$_] = [System.Diagnostics.Stopwatch]::StartNew()
}
(кстати, спасибо @mjolinor за помощь в этом !!)
Затем я перебираю свои работы и получаю время, отведенное на каждую работу. Но у меня проблемы с чтением значений массива. Если я непосредственно ссылаюсь на индекс, он работает:
$jobtimer[4].elapsed.totalseconds
Но если я попытаюсь просмотреть свои задания и вывести истекшее время, я ничего не получу:
get-job | foreach {
echo $jobtimer[$_.name].elapsed.totalseconds
}
Как пройти через цикл и ссылаться на мой массив?