
Ich wurde damit beauftragt, eine aktive SharePoint-Dokumentbibliothek in eine andere Dokumentbibliothek zu migrieren. Da wir die Ausfallzeiten so gering wie möglich halten möchten, habe ich die beiden Dokumentbibliotheken mithilfe von OneDrive mit meinem PC synchronisiert und verwende Robocopy zum Spiegeln zwischen den beiden lokalen Kopien. Ziemlich routinemäßiges Zeug für Netzwerkfreigaben.
Mir fiel jedoch auf, dass Robocopy beim erneuten Ausführen des Mirror-Befehls erneut viele Dateien kopierte. Ich hätte mit einer Handvoll Änderungen gerechnet, aber nicht mit Tausenden. Außerdem kennzeichnete Robocopy die Dateien als „geändert“, was meiner Meinung nach ein sehr ungewöhnlicher Kopiergrund für Robocopy ist – das bedeutet, dass der Zeitstempel unverändert ist, aber die Größe der Datei sich geändert hat …
Bei der weiteren Diagnose stellte sich heraus, dass nur Office-Dokumente, z. B. pptx, erneut kopiert wurden. Andere Dateitypen wie PDF- und Grafikdateien wurden nur einmal kopiert und nicht erneut.
Ich bin schließlich auf diese Beobachtung zurückgeführt worden:
- Kopieren Sie eine Datei nach OneDrive, beispielsweise mit cmd.exe copy
- Schauen Sie sich die Dateigröße direkt in OneDrive an und Sie sehen, sie stimmt mit der Originalgröße überein
- Warten Sie, bis OneDrive die Datei synchronisiert hat, und überprüfen Sie die Dateigröße erneut
Die Größe hat sich geändert. Hier ist ein PowerShell-Skript, das eine Datei kopiert, die Größe sofort abruft, 15 Sekunden wartet (für die Synchronisierung) und die Größe erneut abruft.
$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"
Dies ist die Ausgabe:
Source size: 1996810
After copy size: 1996810
After sync size: 1997141
Kann jemand erklären, warum sich die Dateigröße ändert? Eine weitere Beobachtung ist, dass OneDrive zuerst „Hochladen“ anzeigt und dann sofort „Herunterladen“ – dann ändert sich die Dateigröße.
Erschwert die Verwendung von Synchronisierungstools mit OneDrive ziemlich. Natürlich haben Google Drive oder Dropbox dieses Problem nicht.
Ein letzter Hinweis: OneDrive „On-Demand“ ist aktiviert.
Antwort1
Nachdem ich dies mit Microsoft besprochen und den oben verlinkten Artikel gelesen habe, ist dies „absichtlich“, da OneDrive nach dem Hochladen zusätzliche Metadaten zu Office-Dokumenten hinzufügt, weshalb diese hochgeladen und dann sofort wieder heruntergeladen werden. Dies ändert daher die Größe der Datei. Ein Problem für diejenigen, die sich auf Dateigröße/MD5-Prüfsummen verlassen, um die Dokumentintegrität sicherzustellen. Dies scheint bei der persönlichen Version von OneDrive nicht zu passieren und Nicht-Office-Dokumente werden nicht geändert.