2016-12-17 4 views
0

Передача следующих бит начинается с задания бит бит, которое отлично работает, когда я вручную завершаю передачу позже: Get-BitsTransfer | Complete-BitsTransferКак отложить полный набор битовТрансфер до завершения передачи?

Моя попытка сценария задержки до завершения не работает. While не обрабатывается или, возможно, не обрабатывается до начала передачи.

loop starts many jobs... 
    $job = Start-BitsTransfer -Source $fileUrl -Destination $fileDest -Asynchronous 
...end loop 

While ($job.JobState -eq "Transferring") { 
    Sleep -Seconds 1 
} 

Get-BitsTransfer | Complete-BitsTransfer 

Любое предложение, как разрешить -Asynchronous работу шанс загрузить перед выполнением полной?

После того, как я добавил 1-секундную задержку перед ожиданием, сценарий выше ждет. Кажется взломанным.

+1

Возможно, вы ожидаете в цикле While только для «последнего пакета» биттрансфер, созданного предыдущим циклом. Не могли бы вы отправить код цикла, который создает BitTransfers? – cezarypiatek

ответ

0

cezarypiatek заслуживает этот ответ:

Проблема петля Во время проверки только последний пакет. Код скорректирован с:

$job - @() 
loop starts many jobs... 
    $job += Start-BitsTransfer -Source $fileUrl -Destination $fileDest -Asynchronous 
...end loop 

While ($job | Where-Object{$job.JobState -eq "Transferring"}) { 
    Sleep -Seconds 1 
} 

Get-BitsTransfer | Complete-BitsTransfer 
Смежные вопросы