Как сделать многопоточное копирование с помощью powershell? - PullRequest
2 голосов
/ 18 декабря 2011

Я копирую папки, размер которых огромен. Командлет Copy-Item занимает больше времени.

Поскольку моей системой является Windows 2003, у меня нет возможности многопоточности в robocopy.

Есть ли способ быстрее копировать с помощью powershell?

Ответы [ 3 ]

3 голосов
/ 12 января 2012

Самсельвапрабу, я не видел ваш комментарий, потому что это был ответ на ответ другого пользователя, и мне нужно было @, чтобы я мог его увидеть ... В ответ на мой запрос ответили:

Возможно, вам лучше использовать сторонний инструмент.Посмотрите на эти .Подлинная многопоточность в Powershell сложна.Смотрите этот код .Это позволит создать несколько потоков для одного экземпляра powershell.exe.Вы также можете использовать фоновые задания (Start-Job) для одновременной обработки.Однако я сомневаюсь, что с этими методами вы увидите увеличение производительности копирования файлов.Я бы рекомендовал сначала попробовать сторонние инструменты.

2 голосов
/ 18 декабря 2011

Многопоточные копии действительно имеют смысл, только если у вас есть несколько вращающихся дисков или несколько дисков SSD.Если у вас только два вращающихся диска (исходный и целевой), то несколько потоков просто увеличат конкуренцию за пропускную способность диска и потенциально увеличат время поиска между чтениями.

Я бы не сталне беспокойтесь, если вы не копируете с нескольких устройств или на нескольких устройств, и даже тогда, вероятно, только если это несколько устройств в источнике и в пункте назначения.

1 голос
/ 23 декабря 2014

Это один из способов скопировать как задание

$files= "c:\temp\file.zip"
$servers =  get-content "c:\temp\servers.txt"
$Jobs = @()
$sb = {
       Param ($Server, $files)
       xcopy $files \\$Server\C$ /Y
      }

foreach($server in $servers)
{
    $Jobs += start-job -ScriptBlock $sb -ArgumentList $server, $files
}
$Jobs | Wait-Job | Remove-Job
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...