xcopy-Batchdatei - Warum ist zyklisches Kopieren nicht möglich?
Ich versuche gerade über die Aufgabenplanung (unter Win 8.1) eine automatische Sicherung aller Daten von C:\ in einen Dropboxordner zu erstellen. Ich verwende folgende Batch (Nummern am Anfang zur Verdeutlichung der Zeilenzahl) :
-
@echo off
-
echo Kopieren von neuen oder geänderten Daten aus C:\ in den Dropbox-Ordner "Backup(Ronald)"
-
xcopy "c:\" "c:\Users\Assembly\Dropbox\Backup(Ronald)" /D /E /Y /I
Dabei befindet sich die Batch nicht auf C:\ sondern auf einer externen Platte, versucht sich also nicht selbst mitzukopieren. Bei jedem Versuch die Sicherung zu starten bekomme ich die Fehlermeldung: "Zyklische Kopie nicht möglich"
Würde mich über etwaige Lösungsvorschläge freuen, vielen Dank.
2 Antworten
Zyklisches Kopieren ist nicht möglich (d.h. erlaubt) weil in bestimmten Fällen der Kopiervorgang niemals enden würde!
Gibt man Ordner A und B als relative Pfadangaben an und ist B ein Unterordner von A würde beim Kopieren einer Datei in B ja eine neue Datei entstehen, die aber auch in A neu wäre (weil B ja Teil von A ist), die dann auch kopiert werden müsste wodurch aber wieder eine neue entstehen würde, usw.
Quelle und Ziel müssen daher zwei verschiedene Orte sein (z.B. Laufwerk C und D oder zwei Ordner die unabhängig voneinander sind (z.B. C:\Windows und C:\Users).
xcopy hat allerdings noch das exclude-Flag: http://www.heise.de/ct/hotline/Dateien-von-xcopy-ausschliessen-320542.html
Wenn du den Zielordner mittels exclude vom kopieren ausschließt und xcopy schlau genug ist das zu erkennen könnte er das kopieren erlauben
"c:\Users\Assembly\Dropbox\Backup(Ronald)"
befindet sich unterhalb von "c:" - das ist das Problem.
Hänge das Zielverzeichnis z.B. auf D:, dann müsste es gehen.