alpenzwerg
Goto Top

Xcopy für bestimmte Dateien

Ich möchte alle Dateien ( *9.jpg ) in einem Verzeichnis suchen und kopieren.
Ich habe eine Lösung, die noch einen Fehler hat. Es werden die Verzeichnisse mehrfach kopiert.
Das soll aber nicht sein.

SET Startverz=c:\Bilder\Kfz-org
SET Zielverz=c:\Bilder\Kfz-Archiv
FOR /R "%Startverz%" %%I IN (.) DO xcopy "%%I\*9.jpg" %Zielverz% /Y /D /S

Wer kann helfen ?

Content-Key: 433257

Url: https://administrator.de/contentid/433257

Printed on: April 25, 2024 at 08:04 o'clock

Member: Penny.Cilin
Penny.Cilin Mar 27, 2019 at 19:33:27 (UTC)
Goto Top
O Mann,

von einer Begrüssung hältst Du nichts. face-sad
Schau Dir Robocopy an. Die Hilfe dazu findest Du mit
robocopy /? | more
.
Und über die Suchfunktion findest Du weitere/ähnliche Beiträge zu Deiner Frage und zur Nutzung von Robocopy.

Und zum Gruss hat es auch nicht gereicht. face-sad

Zum Anstand und Erziehung gehört sich nunmal eine Begrüssung (Hallo, 'n Abend,...)
Mitglied: 77559
77559 Mar 28, 2019 at 15:10:19 (UTC)
Goto Top
Zitat von @AlpenZwerg:

Ich möchte alle Dateien ( *9.jpg ) in einem Verzeichnis suchen und kopieren.
Ich habe eine Lösung, die noch einen Fehler hat. Es werden die Verzeichnisse mehrfach kopiert.
Das soll aber nicht sein.

Moin moin,
batch code tut exakt das, was geschriebe wurde - nicht das was du mangels Wissen/Nachdenken gemeint hast.

SET Startverz=c:\Bilder\Kfz-org
SET Zielverz=c:\Bilder\Kfz-Archiv
FOR /R "%Startverz%" %%I IN (.) DO xcopy "%%I\*9.jpg" %Zielverz% /Y /D /S
For /R mit (.) listet die Verzeichnisstruktur ab "%Startverz%" mit allen Unterebenen auf, unabhängig davon ob in den Verzeichnissen Dateien mit dem Muster "*9.jpg" vorkommen.

Xcopy mit /S wiederum sucht ab dem aktuell durchlaufenen Verzeichnis ebenfalls ALLE Unterverzeichnisse nach dem Muster "*9.jpg" und hängt das gefundene Unterverzeichnis an "%Zielverz%" an.

Wer kann helfen ?
Sicher viele, auch wenn manche wegen fehlender Netiquette verzichten.

Die Frage ist WAS du meinst,

Sollen die Dateien flach (ohne Unterverzeichnisse) im "%Zielverz%" landen, dann

FOR /R "%Startverz%" %%I IN (*9.jpg) DO xcopy "%%I" %Zielverz% /Y /D   

Sollen die Unterverzeichniss im "%Zielverz%" enthalten sein:

PushD "%Startverz%"  
xcopy "*9.jpg" %Zielverz% /Y /D  
FOR /D %%I IN (.) DO xcopy "%%I\*9.jpg" %Zielverz% /Y /D /S  
PopD

Gruß
LotPings

PS: bei "*9.jpg" ist die Wahrscheinlichkeit von fälschlicherweise kopierten Dateien mit 8.3 Namen relativ gering, mit "*1.jpg" sähe das ganz anders aus.