XCOPY / Verzeichnissyntax ausschließen

20511
Onion-Knight

Ich versuche, XCOPYein Verzeichnis zu kopieren, das so aussieht:

-MainFolder -ManyFoldersIWantToCopy -ManyFoldersIWantToCopy -... -Source Code 

Ich möchte die /EXCLUDEOption verwenden, um jeden Ordner außer zu kopieren Source Code.

Ich habe versucht, folgendes zu verwenden, hatte aber kein Glück:

xcopy "Source" "Destination" /EXCLUDE:"\Source Code\" /E /C /R /I /K /Y

Die Fehlermeldung erhalte ich sagt: Can't read file: "\Source Code\".

Ich habe versucht, die doppelten Anführungszeichen alle zu entfernen, stattdessen einfache Anführungszeichen und / ohne die \ 's, aber ich erhalte dieselbe Fehlermeldung.

Irgendwelche Ideen?

4

3 Antworten auf die Frage

6
Hugh Allen
C:\>xcopy /? ... /EXCLUDE:file1[+file2][+file3]... Specifies a list of files containing strings. Each string should be in a separate line in the files. When any of the strings match any part of the absolute path of the file to be copied, that file will be excluded from being copied. For example, specifying a string like \obj\ or .obj will exclude all files underneath the directory obj or all files with the .obj extension respectively. 

Sie müssen "Source Code" in eine Datei einfügen und diese Datei in der Befehlszeile angeben.

Ist es notwendig, Anführungszeichen um den Quellcode in die Ausschlussdatei einzuschließen, oder kann es mit Leerzeichen umgehen? dunxd vor 12 Jahren 0
2
Ken Richards

Ich glaube, dieser Fehler bedarf einer weiteren Erklärung. Ich fand diesen Blogeintrag sehr informativ.

Grundsätzlich müssen Sie die alte 8.3 (DOS-Dateinamen im Ausschlusspfad) verwenden. Sie können die Kurznamen ermitteln, indem Sie an einer Eingabeaufforderung den Befehl "DIR / X" ausführen, nachdem Sie das Verzeichnis in das übergeordnete Verzeichnis des Ordners geändert haben (für den 8.3-Namen). Es ist eine Schande, dass MS diesen Befehl nicht aktualisiert hat, um lange Dateinamen zu unterstützen.

Ich würde stattdessen die Verwendung von Robocopy vorschlagen, wenn Sie keine kurzen Pfad- / Dateinamen verwenden möchten. Natürlich könnte man die langen Namen in eine externe "excluded_files.txt" setzen. Dies scheint von XCopy unterstützt zu werden.

0
Chris

Ich habe das Flag xcopy EXCLUDE erfolgreich verwendet, ohne die Zeilen in Anführungszeichen zu setzen, obwohl viele der Pfade Leerzeichen enthalten. Für mich (Win7 Home Premium SP1-Reparaturinstallations-DOS-Eingabeaufforderung) waren die Wagenrückläufe eine angemessene Begrenzung. Ich habe nur eine Textdatei im Format verwendet:

file 1.txt path 2\file 2.text and so on\and so forth.txt 

dann EXCLUDE: F: \ dateiname.txt als xcopy-Flag. Ich habe den Laufwerksbuchstaben nicht in die Zeilen der Ausschlussdatei aufgenommen (wie auf der /? -Seite bestätigt, benötigt er nur eine teilweise Übereinstimmung). Die genannten Dateien wurden sehr schnell übersprungen. Ich kombinierte dies mit / D: 09-21-2014, um nur aktuelle Dateien und eine Vielzahl anderer Tags erfolgreich abzurufen.

Um zu bestätigen, habe ich die alten DOS-Kurznamen nicht verwendet, im Gegensatz zu Ken Richards Feststellung oben.