我已成功将Write-Progress
合并到我的脚本中。当我的脚本到达使用RoboCopy
的任何部分时Write-Progress
消失,并在RoboCopy
完成后重新出现:
Write-Progress -Id 1 -Activity $arg2 -PercentComplete $i -Status $arg1
RoboCopy C:\source C:\destination /MIR
我考虑过使用Start-Process
来运行Write-Progress
,但成效有限。任何帮助都将很高兴。
答案 0 :(得分:1)
我能够回答我自己的问题。以下是使用Start-Job
:
Write-Progress -Id 1 -Activity $arg2 -PercentComplete $i -Status $arg1
Start-Job { RoboCopy C:\source C:\destination /MIR LOG+:C:\log.txt } > $null
cat C:\log.txt
让我解释一下。 Start-Job
创建后台作业并将其自己的输出重定向到位桶。由于它是一个后台工作,我立即返回运行更多东西,比如cat,它会溢出RoboCopy日志文件的所有内容。最后,它应该开始工作。 YAY!
答案 1 :(得分:0)
我怀疑Robocopy接管控制台显示缓冲区以显示进度。尝试使用robocopy选项/NP /NJH /NJS
。您可能还需要添加/NS /NC /NFL /NDL
。