Рассмотрим сценарий:PowerShell RoboCopy определенные файлы с 1 сервера на другой сервер
- Сервер имеет один File_Folder где есть 100K + файлы и некоторые файлы могут быть супер огромный
- У меня есть .csv Файл для каждого пользователя (который имеет полный набор файлов списка, который будет скопирован с сервера A File_Folder) на сервер B (где есть директория для этого каждый пользователь)
Моя логика 1) Прочитайте каждый CSV файлов для каждого пользователя 1 на 1 2) поместите список для RoboCopy для копирования файлов с сервера A на сервер B в каждую папку пользователя 3) он работает для меня, но он очень медленный. Я хочу сделать это быстрее.
Примечание: обязательно использовать PowerShell
Мой код выглядеть следующим образом
$Get_CSV_File_INFO = @(Get-Content $Full_CSV_Path)
$SourcePath = "z:\"
foreach($a in $Get_CSV_File_INFO)
{
if($a -match '.zip')
{
$RS_Report_Name.add($a) |Out-Null
}
}
$RS_Report_Name | % { Robocopy $SourcePath $path $_} | Out-Null
Destionation путь как Y: \ ПользовательА, Y: \ UserB и т.д .....
Любое предложение может помочь.
Я не регистрирую и не показываю выход; он улучшил скорость , но все же копирование всего файлов «2.57 МБ» заняло около 9 минут, что не очень хорошо в реальном жизненном сценарии.
вы используете это на сервере A, S erver B или полностью отдельную коробку? Основываясь на вашем '$ sourcePath', являющемся« z: \ », я предполагаю, что оба сервера A и B удалены от того, где вы запускаете скрипт. Если это так, вы копируете контент с сервера A на B через локальную машину. Это два последовательных сетевых перелета. Изменение шаблона для вызова копии непосредственно с A на B должно быть значительно быстрее. Особенно, если ваш скриптовый компьютер работает медленнее, чем A-> B. –
Хорошая идея запускать на целевом сервере вместо хоста, чтобы сделать вещи быстрее. этот отзыв действительно хорош – TahirAyoub
Это решило вашу проблему? Я могу опубликовать его в качестве ответа. Если мне нужно запустить на третьей машине, я обычно буду вызывать команду на сервер A, а затем в блок сценария: сопоставьте диск с сервером B с явными учетными данными, скопируйте с A на B. –