xcopy exclude-file mal andersherum
Moinz @Batchler!
Ich weiss, wie ich beim Kopieren Ausschlüsse setzten kann.
Geht das Ganze auch anders herum? Eine Text-Datei mit Quellen-Angaben?
Gruss und denkt immer dran:
tempus fugit - also verbringt nicht zu viel Zeit am Rechner...
Ich weiss, wie ich beim Kopieren Ausschlüsse setzten kann.
xcopy QUELLE ZIEL /exclude:ausschluss.txt
Geht das Ganze auch anders herum? Eine Text-Datei mit Quellen-Angaben?
Gruss und denkt immer dran:
tempus fugit - also verbringt nicht zu viel Zeit am Rechner...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 49365
Url: https://administrator.de/forum/xcopy-exclude-file-mal-andersherum-49365.html
Ausgedruckt am: 10.01.2025 um 15:01 Uhr
6 Kommentare
Neuester Kommentar
Hallo t-f (schon Zeit gespart )!
Wenn's nicht XCOPY sein muss, könnte ich Dich auf einen aktuellen sehr langen Befehl mit Batchdatei erstellen zu ROBOCOPY hinweisen, ansonsten muss wohl eine FOR-Schleife her.
Am Besten stellst Du ein Beispiel für den Inhalt einer entsprechenden "Include"-Datei rein.
Grüße
bastla
Wenn's nicht XCOPY sein muss, könnte ich Dich auf einen aktuellen sehr langen Befehl mit Batchdatei erstellen zu ROBOCOPY hinweisen, ansonsten muss wohl eine FOR-Schleife her.
Am Besten stellst Du ein Beispiel für den Inhalt einer entsprechenden "Include"-Datei rein.
Grüße
bastla
Hallo tempus-fugit (so viel Zeit muss dann doch sein )!
Aber jetzt mach ich's kurz:
Wenn Du diese Zeile als "XCopyInclude.bat" speicherst, kannst Du die Sicherung wie folgt aufrufen:
Damit werden alle kopierten Dateien in "D:\CopyLog.txt" protokolliert. Die Einträge in "Einschluss.txt" können wie in Deinem Beispiel erfolgen (dann wird jeweils der angegebene Ordner ohne Unterordner kopiert), Du kannst aber auch noch einschränken oder erweitern, wie etwa mit
Bitte beachten, dass Pfade mit Leerstellen (wie üblich) in Anführungszeichen stehen müssen.
Grüße
bastla
Aber jetzt mach ich's kurz:
@echo off
for /f "delims=" %%i in ('type "%1"') do xcopy /y %%i "%~2\"
XCopyInclude D:\Einschluss.txt "Z:\Pfad für Sicherung" > D:\CopyLog.txt
D:\Fotos\Weihnachtsfeier06*.raw
/s "E:\Ordner\Mit Unterordnern"
Grüße
bastla
Hallo tempus-fugit!
Wenn man die Vermengung von Optionen und Quellangaben in einer einzigen Zeile der "Einschluss.txt" als Problem erkennt, böte sich folgende einfache Lösung an: Nimm den Schalter "/s" gleich in den "xcopy"-Befehl auf (wird wohl ohnehin Default sein) und ändere die Quellangabe so ab, dass auch die Dateien (als Wildcards) angeführt werden, also etwa:
Dann sollte mit
eine vernünftige Struktur unterhalb des übergebenen Zielpfades %2 entstehen.
Müssten tatsächlich auch noch Optionen in die Liste aufgenommen werden, bräuchte man ein eindeutiges Trennzeichen zwischen Pfadangabe und Option.
Grüße
bastla
Wenn ich mehrere Verzeichnisse in der "Einschluss.txt" angebe ... dann werden alle Unterverzeichnisse von Verz1, Verz2 und Verz3 im Zielverzeichnis in eine einziges Verzeichnis kopiert. Das ist unschön.
... aber nur konsequent, da ja schließlich auch alle Dateien von Verz1, Verz2 und Verz3 im Zielverzeichnis vermischt werden. Wenn ich als Ziel ebenfalls die Variable "%%i" nehmen würde, dann gäbe es Probleme mit der Ordnerbezeichnung wegen des "\", richtig?
Das wäre noch das kleinste Problem - %%i enthält nicht mehr und nicht weniger als die gesamte Zeile (also inklusive Option "/s", wenn vorhanden, und Quelllaufwerksangabe).Kann man das lösen?
Ich würde sagen: man muss.Wenn man die Vermengung von Optionen und Quellangaben in einer einzigen Zeile der "Einschluss.txt" als Problem erkennt, böte sich folgende einfache Lösung an: Nimm den Schalter "/s" gleich in den "xcopy"-Befehl auf (wird wohl ohnehin Default sein) und ändere die Quellangabe so ab, dass auch die Dateien (als Wildcards) angeführt werden, also etwa:
D:\Verz1\Verz12\*.*
D:\Verz2\*.*
D:\Verz3\*.doc
for /f "delims=" %%i in ('type "%~1"') do xcopy /c /e /h /i /r /y /q <b>/s</b> "%%i" "%~2%%~pi"
Müssten tatsächlich auch noch Optionen in die Liste aufgenommen werden, bräuchte man ein eindeutiges Trennzeichen zwischen Pfadangabe und Option.
Grüße
bastla