Bilder in Ordnerstruktur suchen und dann Bilder nach Oberordnername umbenennen und dann anschließend (ohne Ordnerstruktur) in einen Zielpfad kopieren
Ich habe mehrere Ordner mit Name_Vorname_Geburtsdatum und nun will ich darin nach JPG-Bildern suchen und diese Dateien (IMGxxxx.jpg, xxxx fortlaufende Nummer) sollen anschließend so benannt werden wie der Ordner heißt, in dem sich die Dateien befinden, ergänzt um eine fortlaufende Nummer (also z.B. Name_Vorname_Geburtsdatum_xxxx.jpg) und dann sollen diese Dateien ohne Berücksichtigung der Ordnerstruktur (also nur die Dateien) an einen beliebig gewählten Zielordner kopiert werden.
ich habe dazu schon mal eine CMD-Datei angefangen - ich hoffe, dass mir jemand weiterhelfen kann:
setlocal ENABLEDELAYEDEXPANSION
set rootdir=%cd%
set localusersdir=.
for /d %%i in (%localusersdir%\*) do (
set dir=%%i
rem obiges funktioniert (also die äußere for-schleife), ich bekomme alle Unterordner in die Variable dir, nur mit dem Rest tue ich mich noch etwas schwer
cd !%dir%:\\=\!
for /f %%f in (%dir%) do (
set filename=%%f
move %filename% %dir%.jpg
copy %dir%.jpg c:\temp
)
cd ..
rem echo !dir:\\=\!
)
pause
endlocal
ich habe dazu schon mal eine CMD-Datei angefangen - ich hoffe, dass mir jemand weiterhelfen kann:
setlocal ENABLEDELAYEDEXPANSION
set rootdir=%cd%
set localusersdir=.
for /d %%i in (%localusersdir%\*) do (
set dir=%%i
rem obiges funktioniert (also die äußere for-schleife), ich bekomme alle Unterordner in die Variable dir, nur mit dem Rest tue ich mich noch etwas schwer
cd !%dir%:\\=\!
for /f %%f in (%dir%) do (
set filename=%%f
move %filename% %dir%.jpg
copy %dir%.jpg c:\temp
)
cd ..
rem echo !dir:\\=\!
)
pause
endlocal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 363759
Url: https://administrator.de/contentid/363759
Ausgedruckt am: 23.11.2024 um 10:11 Uhr
11 Kommentare
Neuester Kommentar
Moin.
Ich glaube du solltest dir deine Frage selbst nochmal durchlesen. Für mich entstehen da mehr Fragezeichen als sonst was.
Sorry völliges Durcheinander und Missmatches von Ordnernamen, vermutlich auch der Grund für die geringe Resonanz.
Gruß Snap
p.s. Regel Nr. 1 please
Ich glaube du solltest dir deine Frage selbst nochmal durchlesen. Für mich entstehen da mehr Fragezeichen als sonst was.
Sorry völliges Durcheinander und Missmatches von Ordnernamen, vermutlich auch der Grund für die geringe Resonanz.
Gruß Snap
p.s. Regel Nr. 1 please
Ich habe das jetzt mal so interpretiert:
Schnell als Powershell
Sammelt alle jpg's ein und kopiert sie nach Schema
Schnell als Powershell
$source = 'D:\Rootordner'
$destination = 'D:\Zielordner'
gci $source -Recurse -Filter *.jpg | group {$_.Directory.Name} | %{
$cnt = 1
$basename = ($_.Name -replace '^([^_]+_[^_]+_[^_]+).*','$1')
$_.Group | %{copy-item $_.Fullname -Destination "$destination\${basename}_$('{0:D4}' -f $cnt)$($_.Extension)";$cnt++}
}
D:\Zielordner\Max_Muster_1977-01-01_0001.jpg
D:\Zielordner\Stefan_Hubert_1978-04-20_0002.jpg
usw...
s. Anpassung oben.
P.s. Ein Danke ab und zu tut nicht weh, hier arbeiten immer noch Menschen und keine Maschinen!
P.s. Ein Danke ab und zu tut nicht weh, hier arbeiten immer noch Menschen und keine Maschinen!
Zitat von @slauf82:
Haut leider nicht ganz hin, der Ordnername kommt im Dateinamen nicht mehr drin vor, warum auch immer, sonst sieht es super aus !
Doch, funktioniert hier einwandfrei, getestet!Haut leider nicht ganz hin, der Ordnername kommt im Dateinamen nicht mehr drin vor, warum auch immer, sonst sieht es super aus !
Jetzt werden Dateien pro Ordner mit immer wieder von 0001 startender Nummer erstellt, allerdings heißen die Dateinamen nur 0001.jpg, 0002.jpg usw. ! Der Ordnername bis zum dritten _ fehlt noch vor dem Zähler ! Kannst Du das bitte noch anpassen ? Danke !
Nope geht, dann stimmt an deiner Beschreibung was nicht.