Ich versuche, einige Verzeichnisse von einem Server zu kopieren, bevor ich sie von der Sicherung wiederherstelle (meine letzte Sicherung war beschädigt, daher muss ich eine ältere verwenden :(). Ich bin in der Windows-Wiederherstellungsumgebung und habe Zugriff auf die Serverdatei System G:\
und meine Sicherungsmedien.Aber C:\
da ich mit Linux besser vertraut bin, habe ich Probleme mit der Befehlszeile in Windows, insbesondere robocopy
.
Ich möchte mehrere Verzeichnisse (unter Beibehaltung derselben Verzeichnisstruktur) von G: \ nach C: \ kopieren und dabei andere (nämlich die Ordner Windows und Programme) ausschließen. Ich kann die Syntax für die /XD
Option nicht herausfinden . Ich hatte gehofft, etwas zu tun wie:
robocopy G: C:\backup /CREATE /XD "dir1","dir2", ...
ANMERKUNG: Ich möchte klarstellen, dass ich die eigentlichen Dateien kopieren und gleichzeitig die Verzeichnisstruktur beibehalten möchte. Ich habe gerade geprüft und /create
nur leere Dateien erstellt. Seltsam.
quelle
/?
Schalter immer verwenden , um Hilfeinformationen für Windows-Konsolenbefehle abzurufen. Es gibt auch denhelp
Befehl, der dem Linux-man
Programm ähnelt , aber ich habe nicht gesehen, dass er von Programmen von Drittanbietern verwendet wird.help
Befehl, der jedoch in der Windows-Wiederherstellungsumgebung nicht aktiv zu sein scheint (ich habe eine Fehlermeldung wie "Kein Befehl 'Hilfe' gefunden" erhalten). Robocopy ist ein Windows-Standardbefehl, der xcopy ersetzt und nicht von einem Drittanbieter stammt./MIR
(Spiegeln von A nach B) zerstört alle Dateien in B, die in A nicht vorhanden sind. Dies ist nützlich, wenn das Verzeichnis, in das Sie kopieren, bereits vorhanden ist und die neue Version (von B) ein genaues Duplikat von A sein soll (wie es derzeit existiert).Ich weiß, dass dies die Frage von OP nicht beantwortet, aber an jeden hier von Google: XD schlägt in einer Jobdatei fehl, wenn Sie Anführungszeichen verwenden.
Schlecht:
Gut:
Platzieren Sie beliebig viele Ausschlüsse, Zeile für Zeile, ohne Anführungszeichen (unabhängig davon, ob Leerzeichen vorhanden sind oder nicht).
Die Art und Weise, wie ich dies entdeckte, war die Verwendung der Befehlszeilenoption / SAVE: myjobname, mit der die Anführungszeichen aus meinen angegebenen Verzeichnissen entfernt wurden!
quelle
Sie müssen den
/XD
Teil wiederholenquelle
Meine Lösung hierfür bestand darin, TXT-Dateien zu erstellen, die die Dateien oder Verzeichnisse enthalten, die ich ein- oder ausschließen möchte. Ich habe diese Dateien in einem Unterordner "rcXcludes" unter meinem "Backup" -Ordner. Meine Methode zum Benennen der Dateien ist wie folgt. Ich stelle ihnen "rc" (für Robocopy) voran, dann eine erkennbare Notation für die Anwendung oder einen Teil des Dateisystems im Robocopy-Befehl, füge dann "B" oder "R" (für Backup oder Restore) hinzu, dann "I" oder "X" (für Einschließen oder Ausschließen), dann "D" oder "F" (für Verzeichnis oder Datei). Ich umgebe jeden Eintrag mit doppelten Anführungszeichen und einem Leerzeichen zwischen den Einträgen. Eine "Include" -Datei kann Dateien oder Verzeichnisse enthalten, Verzeichnisse müssen jedoch einen nachgestellten Backslash haben. In einer "Exclude" -Datei für Verzeichnisse verwenden Sie keinen abschließenden Backslash. Alle Verzeichniseinträge sind relativ zum Quellpfad im Befehl robocopy. Der gesamte Inhalt dieser TXT-Dateien muss in einer Zeile und in einer Zeile stehennicht eine carraige Return Zeilenvorschub haben. In meiner Batch-Datei verwende ich einen SET / P-Befehl, um die TXT-Datei in eine Variable zu importieren. Ich benutze diese Variablen dann für DATEIEN oder nach / XF oder / XD. Um beispielsweise das Chrome-Profil des aktuellen Nutzers zu sichern, ohne den gesamten "Standard" -Ordner zu kopieren, verwende ich Folgendes.
Sagen Sie in der bat-Datei C: \ Backup.
quelle