mehrere Bilddateien gleichzeitig umbenennen mit einer Batch Datei?
Hallo, ich versuche grade mehrere Bilddateien (namen: Unbenannt - Kopie 1-20) alle gleichzeitig mit einer Batchdatei umzubenennen, eine alleine ist kein Problem, aber ich bekomme es einfach mit diesen "for" Schleifen net hin :(
2 Antworten
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
@echo off
Setlocal EnableDelayedExpansion
set Counter=0
cd /D "P:\fad\zu\den\Dateien"
FOR /F "delims=" %%A IN ('dir /AD /B "Unbenannt - Kopie*"') DO (
set /a Counter+=1
ren "%%~nxA" "Wunschname !Counter!.Endung"
)
Der SETLOCAL-Befehl erlaubt das Nutzen von Variablen innerhalb von Klammern
Der Counter dient dazu, die Dateien durchzunummerieren.
Der CD-Befehl (Change Directory) wechselt in den Ordner, wo die Bilder liegen.
Der FOR-Befehl analysiert die Ausgabe des DIR-Befehls, welcher die Dateien im aktuellen Ordner anzeigt.
SET/A löst eine Rechenaufgabe. Hier wird immer um eins hochgezählt.
Der REN-Befehl (REName) benennt die Dateien um.
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Der CD-Befehl muss zu dem Ordner führen, nicht zu einer Datei.
Im DIR-Befehl muss der Stern bleiben, er darf nicht durch eine 1 ersetzt werden.
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Höre auf Dir unnötige Arbeit zu machen ... lade Dir TOTALCOMMANDER herunter... dadrin hat es ein geniales "Umbenenn-Tool" ... damit geht das viel schneller und sicherer. TOTALCOMMANDER ist zwar "Shareware" aber funktionniert, ohne Einschränkungen, auch ohne kaufen und ewig..
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
geht nur leider nicht, wenn ich es für die Schule machen soll mit hilfe einer Batch Datei ... :/
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Sage dem Lehrer, er soll aufhören, das "Rad neu zu erfinden" .... so etwas mit einem Batch-Job zu machen, war vor 30 Jahren noch gerechtfertigt. Jetzt machen das nur noch Idioten.
Zudem wird ein Bat-Job nicht mit den jetzt verwendenten Dateinamen fertig.
@echo offSetlocal EnableDelayedExpansionset Counter=0cd /D "C:\Users\aluehrs\Desktop\unbenennen\Unbenannt - Kopie 1.png"FOR /F "delims=" %%A IN ('dir /AD /B "Unbenannt - Kopie 1"') DO ( set /a Counter+=1 ren "%%~nxA" "123 !Counter!.png")
so habe ich das jetzt auf meine Daten umgeändert, doch es Funktioniert nicht. :/ hast du vlt ne ahnung wie es richtig ist ?