
Ich überprüfe, ob Robocopy eine gute Option für mein Sicherungsskript ist, das nur neuere Dateien vom Laufwerk C (NTFS) auf einen USB-Stick (exFAT) sichert.
Ich führe diesen Befehl aus. Er funktioniert, aber es scheint, als ob die Protokollierung falsch ist, wenn das Ziel ein entfernbarer USB-Stick ist und dieser zudem exFAT-formatiert ist. Dieses Problem tritt nicht auf, wenn das Ziel FAT oder NTFS ist.
robocopy C:\Temp\F1 D:\F1 /XO /E /FFT /LOG:C:\Temp\robo.txt /NP /NDL /R:1 /W:3
Im obigen Befehl war D: der Laufwerksbuchstabe und der Befehl oder die .BAT-Datei wurde unter Windows 7 Ultimate 64 immer als Administrator ausgeführt.
Das Problem tritt im Fall 2 auf, wie unten beschrieben.
Fall 1 – Sehen Sie sich den Screenshot des Protokolls an. Dies scheint korrekt zu sein. Alle kopierten Dateinamen werden protokolliert und die Kopierstatistiken sind korrekt. 3 Dateien werden kopiert.
Fall 2 – Ich füge der Quelle eine weitere Datei hinzu. Jetzt wird nur diese neue Datei kopiert, aber alle Dateien im Protokoll und die Statistiken sind falsch. Es heißt, 4 Dateien wurden kopiert.
Diese Art der inkonsistenten Protokollierung tritt nur auf, wenn das Ziel ein exFAT-formatierter USB-Stick ist. Keine Probleme mit FAT oder NTFS.
Betriebssystem: Windows 7 Ultimate 64.
Fragen.
- Handelt es sich hierbei um ein Problem oder einen Fehler in der Robocopy-Protokollierung, wenn das Ziel ein exFAT-USB-Stick ist?
- Wenn nicht, fehlt mir im Befehl eine Option, die das Problem beheben sollte?
Ich wäre für weitere Klarstellungen hierzu sehr dankbar.
Bearbeiten
Fall 3 – Keine Änderung, es werden weiterhin alle 4 Dateien in der Protokolldatei aufgelistet.
/FFT oder dessen Fehlen ändert nichts an den Protokolldaten.
Ich habe es mit Free File Sync überprüft, beide Verzeichnisse sind hinsichtlich Dateigröße, Zeitstempel und tatsächlichem Inhalt synchron. Ich glaube, es wird nicht kopiert, sondern trotzdem protokolliert.
Bearbeiten 2
Ich habe 2 große Dateien mit insgesamt 312 MB in der Quelle abgelegt. Das Kopieren auf das USB-2-Pendrive-Ziel dauert 42 Sekunden. Das Protokoll ist in Ordnung.
Jetzt führe ich den Befehl erneut aus. Er ist in 0 Sekunden abgeschlossen, protokolliert aber trotzdem 2 Dateien und die Statistiken zeigen, dass 2 Dateien kopiert wurden. Ich bin sicher, dass dies mit 312 MB Daten auf einem USB 2.0-Stick nicht möglich ist.
Antwort1
Robocopy Version auf meinem Windows 7 ist6.1.7601.23403.
Diese Version von Robocopy ist von 2009. Sie ist 10 Jahre veraltet.
Ich habe versucht, Robocopy von einem Windows 10 (64)-PC auf meinen Windows 7 (64) zu kopieren, aber wenn der Befehl in .BAT eingegeben wird, wird eine Fehlermeldung angezeigt, die besagt, dass es sich nicht um eine gültige Win32-Anwendung handelt.
Leider Windows 7fehlen gewisse Voraussetzungenwird von der aktuellen ausführbaren Robocopy-Datei benötigt, sodass die neueste ausführbare Datei nicht einfach von einem Windows 10-System kopiert werden kann:
Selbst das Kopieren von Windows 8 funktioniert nicht, da die zugrunde liegenden Komponenten dies unterstützen müssen.
Robocopy ist lediglich ein Dienstprogramm, das zugrunde liegende Dateisystemkomponenten aufruft.
Ich konnte dieses Problem auf meinem Windows 10 1903-System, auf dem die neueste Version von Robocopy installiert ist, nicht reproduzieren.
Es besteht kein Zweifel, dass das Problem eher bei den Protokollen als beim Kopiervorgang selbst liegt. Robocopytutgenau das, was es hier soll, es meldet es nur falsch.
Die sofortigen Kopien, die wir hier sehen, sind unmöglich. Wenn das Kopieren einer Datei von einem Datenträger auf einen anderen beim ersten Mal 42 Sekunden dauert,kippenbeim zweiten Mal dauert es 0 Sekunden!
Welche Engpässe auch immer die Geschwindigkeit der ersten Dateikopie begrenzt haben, sie wirken sich auf nachfolgende Kopien auf genau dieselbe Weise aus (d. h. USB-Bandbreite und Schreibgeschwindigkeit des Flash-Laufwerks).
Dies lässt sich leicht demonstrieren, indem man einen Kopierauftrag mit einer relativ großen Datei ausführt und beobachtet, wie lange dieser dauert. Anschließend löscht man die große Datei vom Ziellaufwerk und führt den gleichen Auftrag erneut aus. Nachfolgende Kopien über zweiandersDie Anzahl der Bände beträgt ungefähr die gleiche Zeit.
Protokollabweichungen:
Grün = wahr.
Rot = falsch.
Nur um zu verdeutlichen, was in der ersten grünen Box angezeigt wird: Ich habe das "Keine 100% neue Datei" Zeilen, um zu zeigen, wo das Protokoll korrekt war, um Leerzeichen anzuzeigen. Hatte diese DateikopienWirklichstattgefunden hat, dann würde neben jeder erfolgreich kopierten Datei "100%" und "Neue Datei" angezeigt werden.
Diese Dateikopien wurden nie durchgeführt. Der OP könnte 20 GB Daten dort ablegen und Robocopy würde trotzdem eine sofortige Übertragung melden!
Abschluss:
Der OP kann seine Version von Robocopy nicht aktualisieren, da Windows 7 keine neuere Version als die Version 2009 verwenden kann.
Seine unmittelbaren Optionen bestehen darin, entweder XCOPY oder ein anderes Dienstprogramm zum Kopieren von Dateien zu verwenden.
Wenn der OP schließlich auf eine neuere Version von Windows, beispielsweise Windows 10, aktualisiert, verfügt er über eine aktuelle Version von Robocopy, in der dieser alte Fehler behoben wurde und dieser Protokollierungsfehler nicht mehr auftritt.
Antwort2
Robocopy verursacht bekanntermaßen Probleme beim Übertragen von Dateien zwischen verschiedenen Dateisystemen, z. B. aufgrund der Tatsache, dass NTFS ein 64-Bit-Zeitstempel ist, während FAT drei separate Felder zum Speichern des Zeitstempels verwendet, wobei ein Byte die Zeitzone für die UTC-Zeit darstellt.
Und es gibt mehrere Beispiele, bei denen die Zusammenfassung nicht die richtigen Informationen anzeigtzB hier. Ich würde vermuten, dass die Berechnung der Zusammenfassung (frei ausgedrückt) nicht direkt in den Kopiervorgang integriert ist, also liegt hier eine Art Fehler vor. Aber ich habe kein „offizielles“ Dokument gefunden, das dies bestätigt. Vielleicht möchten Sie auch überprüfen, was tatsächlich richtig ist, das Protokoll oder die Zusammenfassung.