Robocopy-Befehlszeilenprogramm (wird mit den meisten Windows-Versionen geliefert)
Auf meinem Windows 10-Computer befindet es sich unterC:\Windows\System32
In Wikipedia kann es mit den folgenden Optionen verwendet werden, um Datei- und Verzeichniszeitstempel sowie andere Attribute beizubehalten:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
Beibehaltung der ursprünglichen Verzeichnis-Zeitstempel (erfordert Version XP026 oder höher)
/E
: Verzeichnisse rekursiv kopieren, einschließlich leerer Verzeichnisse
/R:0
: Gesperrte Dateien nicht wiederholen (der Standardwert für die Anzahl der Wiederholungsversuche bei fehlgeschlagenen Kopien beträgt 1 Million),
/COPYALL
: Alle Dateiinformationen kopieren
(entspricht /COPY:DATSOU
, wo
D
= Daten,
A
= Attribute,
T
= Datei-Zeitstempel ,
S
= Sicherheit = NTFS-ACLs,
O
= Besitzerinfo,
U
= Prüfungsinformationen),
Wenn Sie nur Datum und Verzeichnis Zeitstempel erhalten wollen, aber tun nicht wollen leer Verzeichnisse kopiert und Sie nicht möchten , dass andere Attribute erhalten , dann können Sie verwenden:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
wo /S
Kopien nicht leeren Unterverzeichnisse
Um die vollständige Syntax anzuzeigen, geben Sie robocopy /?
an einer Eingabeaufforderung Folgendes ein oder werfen Sie einen Blick auf die folgenden Blogeinträge: https://ss64.com/nt/robocopy.html und
https://techjourney.net/robocopy-syntax-command-line -schalter-und-beispiele /
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 Ausschließen von 2 Unterverzeichnissen das /XD
Flag 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 /L
Flag hinzufügen , um den Befehl zu testen, bevor Sie ihn für echt ausführen. Auf diese Weise können Sie sicherstellen, dass keine Verzeichnisse / Dateien kopiert (oder entfernt) werden, die Sie nicht möchten, und dass Ihr Befehl keine Fehler enthält.
Edit: gotcha beim Kopieren von einem Root-Verzeichnis (aka Laufwerk) in einen Ordner (Nicht-Root-Verzeichnis)
Nach dem Ausführen des obigen Beispielbefehls war das Verzeichnis nicht sichtbar! (Auch wenn show hidden files
und show system files
wurden in Windows 10 überprüft!) Der folgende Befehl gemäß https://serverfault.com/a/455029/399723 behebt dies:
attrib -h -s C:\D_backup
Alternativ kann durch Hinzufügen der /A-:SH
Option "Verborgenes Attribut aus Systemdateien entfernen" verhindert werden, dass das Verzeichnis zunächst ausgeblendet wird (siehe https://serverfault.com/a/565804/399723) . Siehe auch https://ss64.com/nt/robocopy.html .
In dieser Beschreibung wird diese Option als Lösung näher erläutert .
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 die Befehlszeile nicht verwenden möchten.
Ein weiteres Windows-Dienstprogramm ist XCopy , obwohl es in Windows 10 enthalten ist, wird es nicht mehr empfohlen. Siehe den Link für Fallstricke.
Die Wikipedia-Seite für RoboCopy (oben in diesem Beitrag verlinkt) listet andere Software auf, die verwendet werden kann.