Мне было поручено перенести живую библиотеку документов SharePoint в другую библиотеку документов. Поскольку мы хотим свести время простоя к минимуму, я синхронизировал две библиотеки документов с моим ПК с помощью OneDrive и использую robocopy для зеркального отображения между двумя локальными копиями. Довольно обычные вещи для сетевых ресурсов.

Однако я заметил, что когда я снова запустил команду зеркала, robocopy снова скопировал много файлов. Я мог ожидать несколько изменений, но не тысячи. Кроме того, robocopy помечал файлы как "измененные", что в IMO является очень необычной причиной копирования для robocopy - это означает, что отметка времени не изменилась, но размер файла изменился ...

Дальнейшая диагностика показала, что это были только документы Office, например, pptx, которые копировались снова. Другие типы файлов, такие как PDF и графические файлы, копируются один раз, а не снова.

Я наконец отследил это до этого наблюдения:

  1. Скопируйте файл в OneDrive, используя, скажем, cmd.exe.
  2. Посмотрите на размер файла сразу в OneDrive, и он соответствует оригинальному размеру
  3. Подождите, пока 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 «по требованию» включен.

1 ответ1

1

После обсуждения этого вопроса с Microsoft и прочтения ссылки, приведенной выше, это делается "специально", так как OneDrive добавит дополнительные метаданные в документы Office после загрузки, следовательно, причина, по которой они загружаются, а затем сразу же загружаются. Это, следовательно, меняет размер файла. Проблема для тех, кто может полагаться на размер файла / контрольные суммы MD5 для обеспечения целостности документа. Похоже, этого не происходит с личной версией OneDrive, и документы за пределами офиса не изменяются.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .