robocopy - /MIR vs. /E + /Purge

o0Julia0o

Commander
Registriert
Dez. 2012
Beiträge
2.782
hey, was ist der Unterschied zwischen /MIR und /PURGE /E? Ich lese dazu folgendes:

/MIR :: Spiegelt eine Verzeichnisstruktur (Entspricht "/E" mit "/PURGE").

Hierbei noch ein Hinweis:

Der Parameter "/MIR" entspricht den Parametern "/E" und "/PURGE", welche allerdings unterschiede im Verhalten aufweisen:

"/E" + "/PURGE" -> Die Sicherheitseinstellungen werden beim Kopiervorgang nicht überschrieben, falls das Verzeichnis bereits vorhanden sein sollte.
"/MIR" -> Die Sicherheitseinstellungen werden komplett überschrieben, sofern das Zielverzeichnis bereits vorhanden sein sollte.

Quelle: https://www.deskmodder.de/wiki/inde...opy_Datensicherungen_erstellen_Daten_kopieren

Bei /MIR werden Sicherheitseinstellungen komplet überschrieben. Bei /E + /PURGE nicht.
1. Warum steht dann oben das /MIR = /E + /PURGE ist?

2. Und was sind diese Sicherheitseinstellungen?

3. Wie kann ich den Befehl: "xcopy /e /i /h /r /y" am besten mit Robocopy emulieren? Robocopy kann auch große Dateien kopieren, Xcopy nicht. Daher muss ich da den Befehl wechseln. Aber wie? Ich möchte ein gesamtes Verzeichnis kopieren mit allen Dateien unter Unterordnern und dessen Dateien - ohne Nachfrage. Einfach ein 1:1 Abbild.

lieben Dank!

Julia :)
 
Mit Sicheheitseinstellungen sind die Dateizugriffrechte ( NTFS Berechtigungen ) gemeint.
 
Sichere meine Daten vom NAS auf externe HDD mit folgender Syntax:
robocopy "\\srv1\admin" "e:\srv1\admin" /MIR /FFT /MT /R:0 /W:0 /UNILOG:"c:\data\Admin\backup\backup_admin.log" /NP
/FFT=Wenn Quell- und Zielsystem unterschiedlich sind, z. B. Windows und Linux
/R:0 und /W:0=Keine Wiederholungen bei Lese- oder Schreibproblemen
/MT=Multithreading, optimiert den Vorgang auf Mehrkernprozessoren
/UNILOG statt /LOG=Kommt auch mit deutschen Umlauten zurecht
/NP=Unterdrückt glaube ich nervige Statusmeldungen beim Kopieren
 
lohnt sich /MT? in 99% ist doch das Speichermedium das Limit was Geschwindigkeit angeht, nicht die CPU.
 
Ich bin hier über 2 Dinge überrascht:
• /E /PURGE soll weniger können als /MIR - was ich stets der Einfachheit verwendet habe. Aber besagte Nöte um Sicherheit hatte ich auch nie.
• XCOPY soll nicht mit großen Dateien können - was mir prinzipiell noch nie auffiel.

Zu den XCOPY-Schaltern
Ich verwende 2 Kombinationen, lange bevor ROBOCOPY opportun wurde.
/K/I/R/S/C/H/E (oder merkbar auch als /K/R/E/I/S/C/H) - mit der Intention einen kompletten Verzeichnisbaum an ein Ziel zu kopieren → ROBOCOPY /MIR versagt bei neuen Ordnern so weit ich beobachten kann.
/F/I/D/S/C/H/Y - mit der Intention, zwar kumulierend, nur neuere und fehlende Dateien ans Ziel zu bringen.

Dann kam ROBOCOPY mit /MIR das in erster Linie einen vollen Datei-Abgleich zwischen Quelle und Ziel bewerkstelligt.
/R:x und /W:x waren im Netzwerk nützlich, lokal und auf USB habe ich sie nie gebraucht. So lange man im ungefähren Zeitraum regelmäßig sichert ist mit /MAXAGE nützlich da der Umgang mit dem Datum nicht sehr flüssig ist.

Somit haben ich 3 Werkzeuge für 3 Zwecke die nebeneinander existieren. Und ich muss mir nur eine ROBOCOPY-Syntax merken 😇

CN8
 
cumulonimbus8 schrieb:
• XCOPY soll nicht mit großen Dateien können - was mir prinzipiell noch nie auffiel.
Größer als 2GB meine ich geht nicht. Und hier stehen noch mehr Beschränkungen:
Bei sehr umfangreichen Kopieraufträgen ist XCOPY unzuverlässig. XCOPY erstellt zu Arbeitsbeginn eine Liste aller zu kopierenden Dateien. Wenn die Anzahl der Dateien größer als zehn- bis dreißigtausend ist, passt diese Liste nicht in den Speicher. Der Kopiervorgang ist dann unvollständig.
Mitunter tauchen unzulässige Dateinamen in Verzeichnissen auf. Wenn XCOPY auf einen unzulässigen Dateinamen stößt, wird der Rest des Verzeichnisses oder der gesamte Rest der Festplattenpartition vermutlich nicht kopiert. Wie kommt es zu unzulässigen Dateinamen?
Es kann sich um Dateien oder gespeicherte Links aus dem Internet handeln, die durch die Eingangskontrolle von Windows gerutscht sind.
Ein defekter Dateinamen kann auch im Ergebnis eines Absturzes entstehen.
Das Kopieren kann fehlschlagen, wenn das Dateisystem auf Quell- und Ziel-PC unterschiedlich ist.
Quelle: https://de.wikibooks.org/wiki/Datensicherung/_Werkzeuge/_Kopieren/_XCOPY

cumulonimbus8 schrieb:
ROBOCOPY /MIR versagt bei neuen Ordnern so weit ich beobachten kann.
Wie meinst du das?
set Quelle="%AppData%\Quelldaten"
robocopy %Quelle% SAVES\%DATE%\ /MIR

funktioniert immer. Wenn ich im Ordner Quelldaten jetzt einen neuen Unterordner erstelle, wird dieser beid er nächsten Befehlsauführung auch mit gesichert.
 
Zuletzt bearbeitet:
Ich habe mit Ausfällen zu kämpfen gehabt. Und ROBOCOPY /MIR hat mehrmals nicht fehlende Ordner ergänzt.

Was XCOPY angeht - ich hatte noch nie das Vergnügen gewaltige Datenmengen zu schaufeln, etwa auch DVD-Images. Auch waren unzulässige Dateianem nicht zu beobachten, aber ich hatte wohl auch keine (zu langen, mutmaßlich).

So weit meine bescheidenen Beobachtungen über 35 Jahre im Kleinkrämerhaushalt.

CN8
 
robocopy funktioniert einwandfrei. Wer da noch xcopy aus MS-DOS-Zeiten benutzt ist auf Zeiten vor Vista hängengeblieben.
 
JennyCB schrieb:
robocopy funktioniert einwandfrei.
Einen Einwand hätte ich. Folgendes funktioniert mit xcopy aber nicht mit robocopy:

xcopy:
Code:
set Quelle="%AppData%\Quelldaten"
xcopy /e /i /h /r /y %Quelle% "\\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\"

robocopy:
Code:
set Quelle="%AppData%\Quelldaten"
robocopy %Quelle% "\\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\" /MIR

Also im Netzwerk möchte robocopy nichts kopieren. 1 Sekunde davor oder danach mit robocopy von gleicher Stelle ausgeführt, klappt das ohne Probleme.
 
Zuletzt bearbeitet:
set Quelle="%AppData%\Quelldaten sollte wohl "%AppData%\Quelldaten" sein.
Ansonsten habe ich heute Abend keine große Lust jetzt alle Parameter einer deprecated und von robocopy ersetzen xcopy-Funktion zu analysieren. robocopy als Nachfolger kann alles was xcopy konnte und mehr.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Terrier
Und Robocopy sollte korrekterweise auch ein vollstaendiges Ziel bekommen. @o0Julia0o
 
  • Gefällt mir
Reaktionen: Terrier
Ansonsten Schritt für Schritt probieren um zu sehen wo es hakt.
robocopy %Quelle% "\\Freigabename\G_Daten" /MIR
robocopy %Quelle% "\\Freigabename\G_Daten\%p:~1%" /MIR
robocopy %Quelle% "\\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%" /MIR
 
So möchte es robocopy haben:
Code:
robocopy %Quelle% \\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\ /MIR
Die Anführungszeichen haben gestört. Zum Glück kein Leerzeichen im Pfad...
 
Es hat funktioniert, jo. Sind auch richtig gelandet. Danke.

Code:
set "p=%~p0"
robocopy "%Quelle%" "\\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\" /MIR
 
Und wenn Du jetzt noch das Ziel so festlegst wie im Administrator.de-Forum empfohlen, ist Dein Batch fast perfekt.

Weil die Optionen von Robocopy kannst Du auch noch per SET festlegen. ;)
 
Danke, also beim set-Befehl ohne Anführungszeichen & beim robocopy-Befehl mit Anführungszeichen?

Code:
set Ziel=\\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\

set "p=%~p0"

robocopy "%Quelle%" "%Ziel%" /MIR
 
Zurück
Oben