Мне было поручено перенести живую библиотеку документов SharePoint в другую библиотеку документов. Поскольку мы хотим свести время простоя к минимуму, я синхронизировал две библиотеки документов с моим ПК с помощью OneDrive и использую robocopy для зеркального отображения между двумя локальными копиями. Довольно обычные вещи для сетевых ресурсов.
Однако я заметил, что когда я снова запустил команду зеркала, robocopy снова скопировал много файлов. Я мог ожидать несколько изменений, но не тысячи. Кроме того, robocopy помечал файлы как "измененные", что в IMO является очень необычной причиной копирования для robocopy - это означает, что отметка времени не изменилась, но размер файла изменился ...
Дальнейшая диагностика показала, что это были только документы Office, например, pptx, которые копировались снова. Другие типы файлов, такие как PDF и графические файлы, копируются один раз, а не снова.
Я наконец отследил это до этого наблюдения:
- Скопируйте файл в OneDrive, используя, скажем, cmd.exe.
- Посмотрите на размер файла сразу в OneDrive, и он соответствует оригинальному размеру
- Подождите, пока OneDrive синхронизирует его, и снова проверьте размер файла
Размер изменился. Вот сценарий PowerShell, который копирует файл, немедленно получает размер, ждет 15 секунд (для синхронизации) и снова получает размер.
$SourceFile = "S:\Temp\Helios\Library\Example.pptx"
$TargetFile = "C:\Users\rob.nicholson\Helios Medical Communications\Library - Documents (unused)\Example.pptx"
Copy-Item $SourceFile $TargetFile
$Length1 = (Get-Item $SourceFile).Length
$Length2 = (Get-Item $TargetFile).Length
Start-Sleep 15
$Length3 = (Get-Item $TargetFile).Length
Write-Host "Orignal size: $Length1"
Write-Host "After copy size: $Length2"
Write-Host "After sync size: $Length3"
Это вывод:
Source size: 1996810
After copy size: 1996810
After sync size: 1997141
Может кто-нибудь объяснить, почему размер файла меняется? Другое наблюдение состоит в том, что OneDrive скажет "Загрузка", а затем сразу же скажет "Загрузка", то есть когда размер файла изменяется.
Делает использование инструментов синхронизации довольно сложным с OneDrive. Излишне говорить, что Google Drive или Dropbox не имеют такой же проблемы.
Последнее замечание: OneDrive «по требованию» включен.