помочь кто баг отлавить в небольшом скрипте ?
$counter = 0
$disk = @("D:\", "C:\")
foreach ($i in $disk){
Write-Host $i Start-Job -ScriptBlock {Get-ChildItem -Path "$i" -Include "*FolderName*" -Recurse -Directory -ErrorAction SilentlyContinue}
}
while($True){
if($counter -eq $disk.Length){
break
}
$AllJob = Get-Job
$AllJobId = $AllJob.Id
foreach($i in $AllJobId){
$task = Get-Job -id $i
if($task.State -like "Completed"){
Receive-Job -id $task.Id | Out-File result.txt -Append
Remove-Job -id $CompliteId
$counter++
}
}
}
в справке по receive-job есть примеры как заменить твой while блок одной строкой
$AllJobId = $AllJob.Id - явно тут косяк, чего не сделать foreach ($id in $AllJob.Id)
Этот кусок работает как и задумано, разобрались уже, Вектор вроде помог в соседнем чате
Обсуждают сегодня