首页 > 解决方案 > 为什么通过网络共享 robocopy 比 Copy-Item 慢?

问题描述

此命令需要 1.6 分钟:

Copy-Item -Recurse $buildSource $stageShare

这需要 2.1 分钟:

robocopy.exe $buildSource $stageShare 
$buildSource = 'C:\MyStuff'
$stageShate = '\\somemachine\someshare\mydir'

我需要开关来加快速度吗?

标签: powershellrobocopy

解决方案


我认为您看到的时间损失是将数据输出到控制台所花费的时间,例如文件进度信息。这需要时间,你应该压制它,看看它对你的时代的影响。

改编自Microsoft Docs 的 robocopy

  • /NFL 指定不记录文件名。
  • /NDL 指定不记录目录名称。
  • /NJH 指定没有作业标题。
  • /NJS 指定没有作业摘要。
  • /NP 指定不显示复制操作的进度(到目前为止复制的文件或目录的数量)。

删除工作摘要并不是提高性能所必需的,但它是另一回事。

robocopy.exe $buildSource $stageShare /nfl /ndl /njh /njs /np

推荐阅读