seraphinaj
Goto Top

Mehrere Grafiken mit Batch umbenennen

Hallo und guten Abend allerseits,

ich tüftel seit heute morgen an folgendem Problem und hoffe, dass ich hier evtl. gute Anregungen oder Lösungen bekomme, die mir weiterhelfen. Leider ist mein Wissen in Bezug auf Batch und CMD nur sehr begrenzt, weshalb ich mich über Begründungen, warum man etwas wie machen sollte, immer sehr freue. Doch hier das Problem:

Ich möchte die Leerzeichen in verschiedenen Grafiken durch _ ersetzen. Das Problem ist, dass sowohl die Ordner, als auch die Grafiken unterschiedlich heißen. Dazu brauche ich einen Batchbefehl, da diese Umbenennung Teil einer komplexeren Batch-Datei ist und ich in dieser nicht ein anderes Programm o.ä. aufrufen kann.

Die Quell-Struktur sieht in etwa wie folgt aus:
main/abc/media/abc/Dies ist Grafik 1.png
main/abc/media/abc/Dies ist Grafik 2.png
main/def/media/def/Noch eine Grafik.png
main/ghi/media/ghi/Und hier noch eine 1.png
main/ghi/media/ghi/Und hier noch eine 2.png
main/ghi/media/ghi/Und nochmal eine andere 3.png

Und ich will nach der Umbennenung folgende Dateien haben:
main/abc/media/abc/Dies_ist_Grafik_1.png
main/abc/media/abc/Dies_ist_Grafik_2.png
main/def/media/def/Noch_eine_Grafik.png
main/ghi/media/ghi/Und_hier_noch_eine_1.png
main/ghi/media/ghi/Und_hier_noch_eine_2.png
main/ghi/media/ghi/Und_nochmal_eine_andere_3.png

Der Befehl rename funktioniert "manuell" ganz gut, nur die Schleife bereitet mir immer einen Knoten im Kopf. Da weiß ich nicht, wo ich anfangen soll...

Ich freue mich auf eure Antworten und darauf, etwas Neues zu lernen face-smile
Viele Grüße,
Seraphina.

Content-Key: 330730

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

Ausgedruckt am: 19.03.2024 um 02:03 Uhr

Mitglied: BassFishFox
BassFishFox 28.02.2017 um 22:52:37 Uhr
Goto Top
Mitglied: rubberman
Lösung rubberman 28.02.2017 um 23:09:42 Uhr
Goto Top
Hallo SeraphinaJ

wenn du diesen Code in dein "main" Verzeichnis speicherst, sollte er alle .png Dateien rekursiv suchen und entsprechend verarbeiten.
@echo off &setlocal

for /f "delims=" %%i in ('dir /a-d /b /s *.png') do (  
  set "p=%%~fi"  
  set "f=%%~nxi"  
  setlocal EnableDelayedExpansion
  ren "!p!" "!f: =_!"  
  endlocal
)
Grüße
rubberman
Mitglied: SeraphinaJ
SeraphinaJ 01.03.2017 um 11:57:18 Uhr
Goto Top
Vielen lieben Dank, rubberman! Dein Code funktioniert prima.

BassFishFox, die anderen Fragen hatte ich auch gefunden, doch wusste ich nicht, wie ich das am besten in meine batch einbinde und auf meine Bedürfnisse anpasse. Dennoch danke für deine Unterstützung!

Viele Grüße
Seraphina