0

我已成功合并Write-Progress到我的脚本中。当我的脚本到达使用的任何部分RoboCopyWrite-Progress消失并在RoboCopy完成时重新出现:

Write-Progress -Id 1 -Activity $arg2 -PercentComplete $i -Status $arg1
RoboCopy C:\source C:\destination /MIR

我曾考虑过使用Start-Process跑步Write-Progress,但收效甚微。任何帮助将不胜感激。

4

2 回答 2

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 日志文件的所有内容。最后,它可以正常工作。耶!

于 2012-09-07T22:50:43.330 回答
0

我怀疑 Robocopy 会接管控制台显示缓冲区来显示进度。尝试使用 robocopy 选项/NP /NJH /NJS。您可能还需要添加/NS /NC /NFL /NDL.

于 2012-09-07T16:20:43.883 回答