Per Batch alle Dateien kopieren, deren Dateiamen in einer Liste steht
Hallo zusammen,
ich hab ein kleines Problem, für das ich Eure Hilfe benötige.
Ich habe ein Verzeichnis ALT in dem sich viele Dateien befinden.
Nun sollen alle Dateien in einen Ordner NEU kopiert werden, deren Dateiname mit einem Begriff beginnt, der in einer Liste.txt steht.
in der Liste steht z.B.
011.00.01.A
011.09.01.A
011.70.01.A
011.70.07.A
011.70.20.A
Im Ordner ALT befinden sich z.B. Bilddateien:
011.00.01.A_1.jpg
011.00.01.A_2.jpg
011.09.01.A_1.jpg
Mein Script sieht bisher so aus:
Eine Datei 011.00.01.A wird kopiert, die Datei 011.00.01.A_1.jpg nicht.
Könnt Ihr mir hier einen Tipp geben?
Vielen Dank und viele Grüße
DackeL
ich hab ein kleines Problem, für das ich Eure Hilfe benötige.
Ich habe ein Verzeichnis ALT in dem sich viele Dateien befinden.
Nun sollen alle Dateien in einen Ordner NEU kopiert werden, deren Dateiname mit einem Begriff beginnt, der in einer Liste.txt steht.
in der Liste steht z.B.
011.00.01.A
011.09.01.A
011.70.01.A
011.70.07.A
011.70.20.A
Im Ordner ALT befinden sich z.B. Bilddateien:
011.00.01.A_1.jpg
011.00.01.A_2.jpg
011.09.01.A_1.jpg
Mein Script sieht bisher so aus:
FOR /f "delims=" %%i IN ('FINDSTR /b /i . "Liste.txt"') DO (
echo copy Z:\Export\Test\ALT\%%i Z:\Export\Test\NEU
)
Eine Datei 011.00.01.A wird kopiert, die Datei 011.00.01.A_1.jpg nicht.
Könnt Ihr mir hier einen Tipp geben?
Vielen Dank und viele Grüße
DackeL
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 606600
Url: https://administrator.de/forum/per-batch-alle-dateien-kopieren-deren-dateiamen-in-einer-liste-steht-606600.html
Ausgedruckt am: 05.04.2025 um 01:04 Uhr
4 Kommentare
Neuester Kommentar
Moin,
Darüber hinaus useless use von findstr.
Zitat von @Dackel:
Eine Datei 011.00.01.A wird kopiert, die Datei 011.00.01.A_1.jpg nicht.
Logisch, du gibst mit %%i ja auch nur einen exakten Namen an --> Platzhalter benutzen.FOR /f "delims=" %%i IN ('FINDSTR /b /i . "Liste.txt"') DO (
echo copy Z:\Export\Test\ALT\%%i Z:\Export\Test\NEU
)
Darüber hinaus useless use von findstr.
FOR /f "usebackq delims=" %%i IN ("Liste.txt") DO (
copy "Z:\Export\Test\ALT\%%i*.*" Z:\Export\Test\NEU
)
Jein... wenn man die Platzhalter noch ergänzt, würde das auch mit findstr funktionieren (oder auch mit type) - falsch ist das nicht, aber halt schlicht überflüssig, weil die for-Schleife das Zeilenweise einlesen einer Textdatei bereits selbst beherrscht.