Почему robocopy медленнее, чем Copy-Item через сетевой ресурс? - PullRequest
0 голосов
/ 09 января 2019

Эта команда занимает 1,6 минуты:

Copy-Item -Recurse $buildSource $stageShare

и это занимает 2,1 минуты:

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

Нужны ли переключатели, чтобы сделать это быстрее?

1 Ответ

0 голосов
/ 09 января 2019

Я думаю, что наблюдаемая вами потеря - это время, потраченное на вывод данных на консоль, например, Информация о прогрессе файла. Это требует времени, и вы должны подавить его, чтобы увидеть его влияние на ваше время.

Адаптировано из Документы Microsoft для робокопии :

  • / NFL Указывает, что имена файлов не должны регистрироваться.
  • / NDL Указывает, что имена каталогов не должны регистрироваться.
  • / NJH Указывает, что заголовок задания отсутствует.
  • / NJS Указывает, что сводка заданий отсутствует.
  • / NP Указывает, что ход операции копирования (количество скопированных файлов или каталогов к настоящему времени) не будет отображаться.

Удаление сводки заданий, которая не нужна для повышения производительности, но это еще одна вещь.

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