skriptkiddy
Goto Top

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

Content-Key: 197306

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

Printed on: April 18, 2024 at 17:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Jan 20, 2013 at 11:20:03 (UTC)
Goto Top
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
Member: skriptkiddy
skriptkiddy Jan 20, 2013 at 11:43:00 (UTC)
Goto Top
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
Member: bastla
bastla Jan 20, 2013 at 16:32:47 (UTC)
Goto Top
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
Member: skriptkiddy
skriptkiddy Jan 20, 2013 at 18:21:37 (UTC)
Goto Top
Es geht also doch so einfach xD
Funktioniert wunderbar. Vielen Dank face-smile