После обсуждения этого вопроса с Microsoft и прочтения ссылки, приведенной выше, это делается «специально», так как OneDrive добавит дополнительные метаданные в документы Office после загрузки, следовательно, причина, по которой они загружаются, а затем сразу же загружаются. Это, следовательно, меняет размер файла. Проблема для тех, кто может полагаться на размер файла / контрольные суммы MD5 для обеспечения целостности документа. Похоже, этого не происходит с личной версией OneDrive, и документы за пределами офиса не изменяются.
Почему OneDrive меняет размер файлов?
Мне было поручено перенести живую библиотеку документов 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 «по требованию» включен.
1 ответ на вопрос
Похожие вопросы
-
6
Монтируйте SkyDrive как сетевой диск
-
1
Office 2010 не может открыть папку на моем Skydrive
-
2
Microsoft Skydrive командной строки
-
-
2
Какой лучший проводник Windows добавляет для Skydrive?
-
5
Синхронизация ноутбуков OneNote с / на SkyDrive
-
1
Как вы получаете больше места в Live Mesh / Live Sync?
-
1
Дать права на редактирование публичного документа в skydrive?
-
5
Массовая загрузка в Skydrive?
-
2
Можно ли использовать Skydrive вместо внешнего HD для TimeLine (на WinXP)?
-
2
Как использовать инструменты совместного написания Office 2010?