Помогите с поиском решения для переноса файлов.
Есть csv файл в который выгружен список файлов, которые не изменялись в течении 2 лет, в файле порядка 3000000 строк, Объем данных порядка 4-5 Тб. Задача перенести на новый диск все файлы кроме .xl*.
Написал вот такой скрипт на powershell, если вкратце, берет строку, меняет ее начало, отрезает имя файла и результат использует в качестве папки назначения, скрипт еще попутно ведет лог того что перенесено.
Код: Выделить всё
$Paths = Import-Csv -Path ‘C:\temp\OldFiles.csv’ -Delimiter ‘;’
$Paths = $Paths.FullName
$Copylog = «C:\temp\copylog_all.csv»
foreach ($Path in $Paths){
foreach ( $Newpath in $Path){
If ($Path.Substring(0,2) -eq «\\») {$Newpath = («\\?\Y:» + $Path.Remove(0,12))}
$Destpath = Split-Path $Newpath -Parent
$Item = Move-Item -Path $Path -Destination $Destpath -Exclude *.xl* -PassThru -Verbose
$Item |Select-Object fullname | Export-Csv -Force -Path $Copylog -Encoding UTF8 -Delimiter «;» -NoTypeInformation -Append
}
}
«\\?\D:\_Dept\111111\2222\33333\44444\55555\6666\777777\888888.pdf»
Структура папок на новом диске полностью перенесена со всеми группами доступа.
Проблема в том что PowerShell обрабатывает этот скрипт очень медленно, за 2 недели прошел порядка 1кк строк.
Возможно xStarter будет это делать быстрее чем пош? Или сразу сможет обработать указанный каталог и переносить только файлы у которых LastAccessTime и LastWriteTime больше двух лет.