skriptkiddy

Bestimmte Dateiendungen von einem (Unter-)Verzeichnis in ein identisches

Hallo zusammen,

und schon mal jetzt danke für eure Hilfe.
Nahe zu immer, wenn ich einen Codeschnipsel im Bereich Batchscripting benötigt habe,
bin ich bei euch fündig geworden - bis auf jetzt :D
Finde das Forum echt der Hammer!

So jetzt aber zum eigentlichen Inhalt.

Ich würde gerne aus einer Ordnerstruktur (inclusive den PNG-Dateien in Unterordner) alle Dateien mit der Endung .PNG (.png) in eine andere Ordnerstruktur kopieren/verschieben (ist in diesem Fall für mich egal) aber nur unter der Bedingung, dass die Datei nur kopiert/verschoben werden soll, wenn sie schon im Zielordner existiert (xcopy /U). Im Endeffekt sollen die PNG-Dateien dann in der selben Ordnerstruktur liegen.

Hier hab ich mal meinen Codeschnipsel der glaub ich mal in die richtige Richtung geht, aber noch nicht so wirklich funktioniert:

FOR /F %%a IN ('dir "theme" /a:d /b /s') DO (xcopy "theme\%%a\*.png" "base\%%a" /U /Y)  
Ordnerstruktur (Beispiel):
- working
..- theme
- META-Inf
- res
- drawable
- drawable-hdpi
- drawable-nodpi
- layout
- xml
..- base
- META-Inf
- res
- drawable
- drawable-hdpi
- drawable-xdpi
- layout
- xml

Beispielsweiße sollen eine bzw. mehrere PNG-Dateien von "theme\res\drawable-hdpi" nach "base\res\drawable-hdpi", wenn diese dort existieren.

Ich hoff ich hab mich verständlich genug ausgedrückt xD
Ich schätze mal der Fehler liegt bei "*.png" und das dieser Teil durch eine weitere For-schleife ersetzt werden muss,
aber da hörts bei meinen Batchkenntnissen auf :o
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 197306

Url: https://administrator.de/forum/bestimmte-dateiendungen-von-einem-unter-verzeichnis-in-ein-identisches-197306.html

Ausgedruckt am: 19.07.2025 um 21:07 Uhr

pieh-ejdsch
pieh-ejdsch 20.01.2013 um 12:20:03 Uhr
moin scriptkiddy,

xcopy macht doch so wie es soll.
Test auf der CMD-Line
pushd "D:\theme\res\drawable-hdpi" &&xcopy /LusYf *.png "D:\base\res\drawable-hdpi\" &&popD

Gruß Phil
skriptkiddy
skriptkiddy 20.01.2013 um 12:43:00 Uhr
So in der Art hab ich es davor auch gemacht, da aber unter (was ich leider vergessen hab zu erwähnen) drawable, drawable-nodpi auch noch *.png liegen hätte ich eben gleich auf einen Rutsch alle kopiert.
Zudem kann es sein, dass eine Ordnerstruktur machnmal noch drawable-mdpi (oder so in der Art) enthält,
weshalb ich gerne ein allgemeines Kommando für sagen wir mal alle unterordner ab "theme\res" hätte.

Aber danke schon mal das du dich so flott gemeldet hast face-smile
bastla
bastla 20.01.2013 um 17:32:47 Uhr
Hallo skriptkiddy und willkommen im Forum!
weshalb ich gerne ein allgemeines Kommando für sagen wir mal alle unterordner ab "theme\res" hätte.
Dazu brauchst Du doch eigentlich nur den Vorschlag von PH anzupassen:
pushd "D:\theme\res" &&xcopy /LusYf *.png "D:\base\res\" &&popD
oder auch gleich ganz direkt:
xcopy /LusYf "D:\theme\res\*.png" "D:\base\res\"
Grüße
bastla
skriptkiddy
skriptkiddy 20.01.2013 um 19:21:37 Uhr
Es geht also doch so einfach xD
Funktioniert wunderbar. Vielen Dank face-smile