slauf82
Goto Top

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

Content-Key: 363759

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

Printed on: April 19, 2024 at 07:04 o'clock

Member: slauf82
slauf82 Feb 06, 2018 at 11:07:12 (UTC)
Goto Top
ein beispielhafter Ordnername heißt z.B. Test_Testus_1970-1-1_123456_2017-11-03_102352, darin befindet sich eine Datei namens IMG0001.jpg, bei mehreren Dateien - kann auch der Fall sein, dann haben diese Dateien denselben Namen mit aufsteigender Nummer ! Das noch als Ergänzung zur Frage !
Mitglied: 135333
135333 Feb 07, 2018 updated at 11:08:01 (UTC)
Goto Top
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
Mitglied: 135333
Solution 135333 Feb 07, 2018, updated at Feb 20, 2018 at 11:00:07 (UTC)
Goto Top
Ich habe das jetzt mal so interpretiert:
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++}  
}
Sammelt alle jpg's ein und kopiert sie nach Schema
D:\Zielordner\Max_Muster_1977-01-01_0001.jpg
D:\Zielordner\Stefan_Hubert_1978-04-20_0002.jpg
usw...
Member: slauf82
slauf82 Feb 16, 2018 at 10:23:40 (UTC)
Goto Top
ob die vorgestellte Lösung mir weiterhilft, muss ich erst noch untersuchen, bin nur bisher noch nicht dazu gekommen.
auf jeden Fall habe ich mal versucht die Frage noch etwas zu konkretisieren damit die Zeilstellung klarer wird
Member: slauf82
slauf82 Feb 16, 2018 at 13:08:31 (UTC)
Goto Top
Funktioniert soweit, allerdings brauche ich den Zähler immer wieder zurückgesetzt, sobald ein neuer Ordner beginnt und im Dateinamen steht hinter nachname_vorname_geburtsdatum_... noch weitere Daten, die ich aber nicht benötige. Der Rest sollte wegggeschnitten werden per Stringoperation !
Member: slauf82
slauf82 Feb 16, 2018 at 13:09:56 (UTC)
Goto Top
rest weggeschnitten aber dahinterdran wäre der zähler noch, der pro ordner neu zählen soll
Mitglied: 135333
135333 Feb 16, 2018 updated at 13:43:02 (UTC)
Goto Top
s. Anpassung oben.

P.s. Ein Danke ab und zu tut nicht weh, hier arbeiten immer noch Menschen und keine Maschinen!
Member: slauf82
slauf82 Feb 19, 2018 at 08:11:45 (UTC)
Goto Top
Danke bisher für alles face-smile
Hat mir sehr geholfen !
Member: slauf82
slauf82 Feb 19, 2018 updated at 08:31:55 (UTC)
Goto Top
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 !
Mitglied: 135333
Solution 135333 Feb 19, 2018 updated at 08:33:35 (UTC)
Goto Top
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!
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.
Member: slauf82
slauf82 Feb 20, 2018 at 14:28:37 (UTC)
Goto Top
ja geht, habe noch per exclude gleich mit die thumbnails rausgeworfen, da ich die nicht brauche :
mit -exclude *.thb1.jpg sind die ganzen Thumbnails draußen, jetzt ist es so, wie ich es eigentlich brauche !

nochmals vielen Dank !!! face-smile