In der Eingabeaufforderung unter "xcopy /?" heisst es unter anderem:
/EXCLUDE:Datei1[+Datei2][+Datei3]...
Gibt eine Liste von Zeichenfolgen an. Jede Zeichenfolge
sollte in einer einzelnen Zeile in der Datei angezeigt werden.
Wenn eine der Zeichenfolgen Teil des absoluten Verzeichnispfads
der zu kopierenden Datei ist, wird diese Datei vom
Kopiervorgang ausgeschlossen. Beispiel: Bei der Zeichenfolge \obj\ oder .obj werden alle Dateien unterhalb des Verzeichnisses OBJ bzw. alle Dateien mit der Erweiterung .obj vom Kopiervorgang ausgeschlossen.
BUG 1:
Beispiel :
xcopy . e:\backup /EIY /Exclude:\exclude.txt
Wird in der Datei exclude.txt folgendes eingetragen:
********** Inhalt von exclude.txt **********
\name\
**********************************************
Dann wird nicht nur jedes Verzeichnis und Unterverzeichnis mit dem Namen "name" nicht kopiert, sondern es werden auch alle Dateien die "name" heissen nicht kopiert.
"name" kann sein "anyname.anyextension" oder "anyname".
Andersherum wird nun in der Datei exclude.txt folgendes eingetragen:
********** Inhalt von exclude.txt **********
name
**********************************************
Dann wird nicht nur jede Datei die "name" heisst nicht kopiert, sondern es werden auch alle Verzeichnisse die "name" heissen nicht kopiert.
-> In diesen Beispielen scheint xcopy die "" am Anfang und Ende der Zeichenfolge zu ignorieren
Aber er hat schon Dateien und Verzeichnisse mit demselben Namen ?
BUG 2:
Beispiel :
Verzeichnisstruktur wie folgt:
\mydir
\mydir\name
Ich befinde mich in mydir.
xcopy *.* e:\backup /EIY /Exclude:\exclude.txt
********** Inhalt von exclude.txt **********
\name\
**********************************************
Das Verzeichnis "name", welches sich in meinem aktuellen Pfad befindet wird trotzdem kopiert. Weitere Unterverzeichnisse die "name" heissen werden korrekterweise nicht kopiert.
Es gibt 2 Möglichkeiten den Fehler zu umgehen:
a)
man entfernt die "" in der exclude.txt (was man eh immer tun kann, wegen BUG 1):
********** Inhalt von exclude.txt **********
name
**********************************************
b)
anstatt "*.*" verwendet man "." im xcopy Befehl:
xcopy . e:\backup /EIY /Exclude:\exclude.txt
Hat mich einiges an Zeit gekostet das Verhalten zu Testen und zu Dokumentieren....
die Fehler gelten für Windows XP/2000/7/8