Robocopy-Befehlszeilentool (wird mit den meisten Windows-Versionen mitgeliefert)
Auf meinem Windows 10-Rechner befindet es sich unter C:\Windows\System32
Aus Wikipedia , es kann mit den folgenden Optionen verwendet werden, um Zeitstempel von Dateien und Verzeichnissen sowie andere Attribute zu erhalten:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
Original Zeitstempel von Verzeichnissen bewahren (erfordert Version XP026 oder höher)
/E
: Verzeichnisse rekursiv kopieren, einschließlich leerer Verzeichnisse
/R:0
: gesperrte Dateien nicht erneut versuchen (die Anzahl der Wiederholungsversuche bei fehlgeschlagenen Kopien ist standardmäßig auf 1 Million eingestellt),
/COPYALL
: Alle Dateiinformationen kopieren,
(entspricht /COPY:DATSOU
, wobei
Wenn Sie nur Datums- und Verzeichniszeitstempel beibehalten wollen, aber keine leeren Unterverzeichnisse rüberkopieren wollen und keine anderen Attribute beibehalten wollen, dann können Sie verwenden:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
, wobei /S
nicht leere Unterverzeichnisse kopiert
Um die vollständige Syntax zu sehen, geben Sie robocopy /?
an einer Eingabeaufforderung ein, oder schauen Sie sich diese Blogbeiträge an: https://ss64.com/nt/robocopy.html und https://techjourney.net/robocopy-syntax-command-line-switches-and-examples/
Ein Beispiel für einen Befehl, den ich kürzlich ausgeführt habe:
Robocopy D:\ C:\D_backup /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Beachten Sie, dass beim Ausschluss von 2 Unterverzeichnissen das Flag /XD
zweimal verwendet werden muss. Außerdem werden beim zweiten Verzeichnisausschluss Anführungszeichen verwendet, da der Verzeichnisname Leerzeichen enthält.
Schließlich können Sie das Flag /L
hinzufügen, um den Befehl zu testen, bevor Sie ihn wirklich ausführen. Auf diese Weise können Sie sicherstellen, dass keine Verzeichnisse/Dateien kopiert (oder entfernt) werden, die Sie nicht wollen, und dass Ihr Befehl keine Fehler enthält.
Edit: gotcha beim Kopieren von einem Root-Verzeichnis (aka Laufwerk) in einen Ordner (Nicht-Root-Verzeichnis)
Nachdem der obige Beispielbefehl ausgeführt wurde, war das Verzeichnis nicht sichtbar! (Obwohl show hidden files
und show system files
in Windows 10 aktiviert waren!) Der folgende Befehl gemäß https://serverfault.com/a/455029/399723 hat dies behoben:
attrib -h -s C:\D_backup
Alternativ kann das Hinzufügen von /A-:SH
“hebt das Versteckt-Attribut von Systemdateien auf” verhindern, dass das Verzeichnis überhaupt erst versteckt wird, wie in https://serverfault.com/a/565804/399723 . Siehe auch https://ss64.com/nt/robocopy.html .
Diese Besprechung beleuchtet diese Option als Lösung näher.
Robocopy D:\ C:\D_backup /A-:SH /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Andere Software:
Alternativ können Sie eine GUI-Version von robocopy herunterladen, wenn Sie nicht die Kommandozeile verwenden möchten.
Ein weiteres Windows-Dienstprogramm ist XCopy , obwohl es in Windows 10 enthalten ist, wird es veraltet. Siehe den Link für Probleme.
Die Wikipedia-Seite für RoboCopy (oben in diesem Beitrag verlinkt) listet andere Software auf, die verwendet werden kann.