以下位传输启动了一堆位作业,当我稍后手动完成传输时,它可以正常工作: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秒的延迟后,上面的脚本等待。看似hacky。
答案 0 :(得分:0)
cezarypiatek值得这样的回答:
问题是While循环只检查最后一个包。代码更正为:
$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