mehrere dateien umbenennen mit name und nummer
Hallo
Ich habe 359 unterschiedliche dateien ( Bilder ) die möchte ich alle mit einem namen
und fortlaufend umbenennen.
So wie das der TotalCommander macht - das möchte ich aber mit einer Bat-Datei
haus.jpg urlaub2007-001
auto.jpg urlaub2007-002
frau.jpg urlaub2007-003
xxx1.jpg urlaub2007-004
xx7.jpg urlaub2007-005
usw
Ich habe 359 unterschiedliche dateien ( Bilder ) die möchte ich alle mit einem namen
und fortlaufend umbenennen.
So wie das der TotalCommander macht - das möchte ich aber mit einer Bat-Datei
haus.jpg urlaub2007-001
auto.jpg urlaub2007-002
frau.jpg urlaub2007-003
xxx1.jpg urlaub2007-004
xx7.jpg urlaub2007-005
usw
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 45451
Url: https://administrator.de/contentid/45451
Ausgedruckt am: 25.11.2024 um 11:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo hugo,
das geht auch mit XP-Boardmitteln.
Markiere alle Dateien, die du umbenennen willst > Rechtsklick 'Umbenennen' > Bei einer Datei das Präfix und die Dateiendung angeben > Enter > Sicherheitsabfrage bestätigen
Voilà
Manko: Die Nummerierung erfolgt in Klammern, also urlaub2007 (1).jpg etc.
Alternative: Ein Script oder ein Tool, bspw. RenameFiles
HTH,
gemini
das geht auch mit XP-Boardmitteln.
Markiere alle Dateien, die du umbenennen willst > Rechtsklick 'Umbenennen' > Bei einer Datei das Präfix und die Dateiendung angeben > Enter > Sicherheitsabfrage bestätigen
Voilà
Manko: Die Nummerierung erfolgt in Klammern, also urlaub2007 (1).jpg etc.
Alternative: Ein Script oder ein Tool, bspw. RenameFiles
HTH,
gemini
Da würde ich auch keinen Schmalz reinstecken.
An den CMD-Prompt, in das richtige Verzeichnis und..
[Das Kursive ist die Ausgabe...der "Code" nur die erste Zeile]
Okay, ich habe jetzt *.txt genommen, weil ich noch gar keine Urlaubs-.jpg's aus 2007 habe...
Und das @echo muss natürlich raus.
Als Batch je ein "%"-Zeichen mehr vor %i und %x.
Und in die erste Zeile "@echo off & setlocal EnableDelayedExpansion".
[Das ist bei mir IMMER geschaltet, deshalb geht es bei mir am Prompt.]
HTH Biber
[Edit] @gemini
[/Edit]
An den CMD-Prompt, in das richtige Verzeichnis und..
>@set /a x=1000 && for %i in (*.txt) do @Set /a "x+=1">nul & <b>@ECHO</b> rename %i Urlaub2007-!x:~-3!%~xi
<i>rename echocolon.txt Urlaub2007-001.txt
rename testjoe.txt Urlaub2007-002.txt
rename lgo.txt Urlaub2007-003.txt
rename testhidden.txt Urlaub2007-004.txt
rename default.txt Urlaub2007-005.txt</i>
...
Okay, ich habe jetzt *.txt genommen, weil ich noch gar keine Urlaubs-.jpg's aus 2007 habe...
Und das @echo muss natürlich raus.
Als Batch je ein "%"-Zeichen mehr vor %i und %x.
Und in die erste Zeile "@echo off & setlocal EnableDelayedExpansion".
[Das ist bei mir IMMER geschaltet, deshalb geht es bei mir am Prompt.]
HTH Biber
[Edit] @gemini
Manko: Die Nummerierung erfolgt in Klammern, also urlaub2007 (1).jpg etc
Das könnte ich per Batch reparieren.... [/Edit]
Ein sehr schönes und umfangreiches Tool, das zudem kostenlos ist ("Mailware"):
http://www.1-4a.com/rename/
sehr zu empfeheln
Gruß
http://www.1-4a.com/rename/
sehr zu empfeheln
Gruß
Hallo biber,
ich möchte gern Deinen Code aus o.g. Beitrag zu folgendem Zweck einsetzen: mehrere .jpg-Dateien mit x-beliebigem Dateinamen sollen in das Format bild-001.jpg bild-002.jpg usw. umbenannt werden und zwar in der Reihenfolge wie sie zuvor alphabetisch fortlaufend geordnet waren. Ich habe wie folgt Dein Code als Batch-Datei verwendet:
Allerdings passiert nun folgendes Problem. Die Dateien werden beim erstmaligen Ausführen in die Nummerierung beginnend mit bild-002.jpg bild-003.jpg usw. umbenannt. -001 wird nicht berücksichtigt. Und die erste Datei ist nicht die erste wie zuvor alphabetisch geordnet, sondern die Letzte. Führe ich die Datei abermals aus, wird die Nummerierung korrekt ausgeführt. Die zuvor letzte Datei ist nun an vorletzter Stelle, und die eben Erste an letzter, wie bei erstem Ausführen.
Es wäre sehr nett, wenn Du mir einen Lösungsvorschlag posten könntest. Ich habe bereits das Forum durchforstet, allerdings keine Antwort darauf gefunden.
besten Dank und schöne Grüße
Lutz /der luximwalde
ich möchte gern Deinen Code aus o.g. Beitrag zu folgendem Zweck einsetzen: mehrere .jpg-Dateien mit x-beliebigem Dateinamen sollen in das Format bild-001.jpg bild-002.jpg usw. umbenannt werden und zwar in der Reihenfolge wie sie zuvor alphabetisch fortlaufend geordnet waren. Ich habe wie folgt Dein Code als Batch-Datei verwendet:
@echo off & setlocal EnableDelayedExpansion
@set /a x=1000 && for %%i in (*.jpg) do @Set /a "x+=1">nul & rename %%i bild-!x:~-3!%%~xi
Es wäre sehr nett, wenn Du mir einen Lösungsvorschlag posten könntest. Ich habe bereits das Forum durchforstet, allerdings keine Antwort darauf gefunden.
besten Dank und schöne Grüße
Lutz /der luximwalde
Moin luximwalde,
willkommen im Forum.
Hmmmmmmmm.
Ich habe es eben auch nochmal so nachgestellt, wie ich es damals gepostet hatte...
...works as designed.. (bei mir).
Aber ich verwette meine Sammlung der schönsten M$-Fehlermeldungen, dass das genau die Antwort ist, die Du bestimmt nicht hören wolltest...
Also - dass der CMD-Interpreter mal aus Versehen mit dem Hoch-Zählen bei 1002 statt bei 1001 anfängt, können wir selbst bei Bill's PraktikantInnen ausschliessen...
Also kann es eigentlich nur so sein, dass das Umbenennen selbst in die Grütze geht.
Das wiederum kann vier (oder mehr) Gründe haben:
- die Datei wird nicht gefunden, weil sie "Leerzeichen im Namen.jpg" heißt
- die Datei wird nicht gefunden, weil sie Umlaute im Namen hat und CHCP falsch eingestellt ist.
- die Datei wird nicht umbenannt, weil die Rechte fehlen
- die Datei wird nicht umbenannt weil eine gleichnamige Datei schon existiert
Variante 1 und 4 sind die wahrscheinlichsten.
Bitte ändere mal (zum Testen) auf:
..und poste mal die ersten Ausgabezeilen.
Gruss
Biber
willkommen im Forum.
Hmmmmmmmm.
Ich habe es eben auch nochmal so nachgestellt, wie ich es damals gepostet hatte...
...works as designed.. (bei mir).
Aber ich verwette meine Sammlung der schönsten M$-Fehlermeldungen, dass das genau die Antwort ist, die Du bestimmt nicht hören wolltest...
Also - dass der CMD-Interpreter mal aus Versehen mit dem Hoch-Zählen bei 1002 statt bei 1001 anfängt, können wir selbst bei Bill's PraktikantInnen ausschliessen...
Also kann es eigentlich nur so sein, dass das Umbenennen selbst in die Grütze geht.
Das wiederum kann vier (oder mehr) Gründe haben:
- die Datei wird nicht gefunden, weil sie "Leerzeichen im Namen.jpg" heißt
- die Datei wird nicht gefunden, weil sie Umlaute im Namen hat und CHCP falsch eingestellt ist.
- die Datei wird nicht umbenannt, weil die Rechte fehlen
- die Datei wird nicht umbenannt weil eine gleichnamige Datei schon existiert
Variante 1 und 4 sind die wahrscheinlichsten.
Bitte ändere mal (zum Testen) auf:
@set /a x=1000>nul && for %%i in (*.jpg) do @Set /a "x+=1">nul & @echo rename "%%i" bild-!x:~-3!%%~xi
Gruss
Biber
Hi biber,
vielen Dank für die schnelle Mühe. Sehr nett. Also nach Ausführen des Batch (Deine Testversion) wird im DOS-fenster folgendes angezeigt:
Das ist augenscheinlich genau das gewünschte Ergebnis. Allerdings wird jetzt real nicht umbenannt. Liegt das an dem @echo vor rename?
beste Grüße
Lutz
vielen Dank für die schnelle Mühe. Sehr nett. Also nach Ausführen des Batch (Deine Testversion) wird im DOS-fenster folgendes angezeigt:
rename "abcde.jpg" bild-1.jpg
rename "bcdef.jpg" bild-2.jpg
rename "cdefg.jpg" bild-3.jpg
rename "defgh.jpg" bild-4.jpg
beste Grüße
Lutz
Moin Lutz,
jepp, dass real nicht umbenannt wird, liegt an dem "echo"... sollte ja nur ein Test sein.
Also dann - Phase II:
wenn es denn bei der ersten Dateien Datei passiert, dann schränken wir es doch mal auf diese ein.
[Ich weiß, ist lästig, aber anders kommen wir nicht ran an den Fehler]
- Mit Glück kommt jetzt beim Rename ein Fehler auf den Bildschirm.
Gruss
Biber
jepp, dass real nicht umbenannt wird, liegt an dem "echo"... sollte ja nur ein Test sein.
Also dann - Phase II:
wenn es denn bei der ersten Dateien Datei passiert, dann schränken wir es doch mal auf diese ein.
::----testbatchII.bat
@echo off & setlocal enableDelayedExpansion
set /a x=1000>nul && for %%i in (abcde.jpg) do Set /a "x+=1">nul & rename "%%i" bild-!x:~-3!%%~xi
[Ich weiß, ist lästig, aber anders kommen wir nicht ran an den Fehler]
- Mit Glück kommt jetzt beim Rename ein Fehler auf den Bildschirm.
Gruss
Biber
Hallo Biber,
das ist in der Tat ganz seltsam. Jetzt sind wir aber einen Schritt weiter und die Erkenntnis ist folgende: die einzelne Bilddatei abcde.jpg oder bcdef.jpg oder... wird jeweils mit bild-1.jpg korrekt umbenannt. Sind aber mehrere Bilder mit dieser Namensgebeung im ordner umzubenennen, fängt es mit -2.jpg an. Ist doch seltsam. Es muss daher an der Namenskombination liegen, da in den Namen mehrere Buchstaben gleich in den anderen Namen vorkommen. Das Batch ist da scheinbar "wählerisch". Zumal es geht auch mit einer Datei nicht: Ich habe einen Namen herausgefunden, der auch als einzelne Datei sofort mit bild-2.jpg umbenannt wird: aftermidnight.jpg. Klingt fast geheimnisvoll und ist zum schmunzeln. Kannst es ja bei Dir mal testen. Was hat dieses Wort, was andere nicht haben.
Oder leidet mein Rechner oder Namensdepressionen...
Ergänzung: z.B. werden auch abc-01.jpg abc-02.jpg abc-03.jpg beginnend bei bild-2.jpg umbenannt, hingegen pic-01.jpg pic-02.jpg pic-03.jpg wird korrekt ab bild-1.jpg umbenannt. Wo kann da der Unterschied fürs batchen liegen? Wenn wir das wissen, ist es gelöst.
schöne Grüße
Lutz
das ist in der Tat ganz seltsam. Jetzt sind wir aber einen Schritt weiter und die Erkenntnis ist folgende: die einzelne Bilddatei abcde.jpg oder bcdef.jpg oder... wird jeweils mit bild-1.jpg korrekt umbenannt. Sind aber mehrere Bilder mit dieser Namensgebeung im ordner umzubenennen, fängt es mit -2.jpg an. Ist doch seltsam. Es muss daher an der Namenskombination liegen, da in den Namen mehrere Buchstaben gleich in den anderen Namen vorkommen. Das Batch ist da scheinbar "wählerisch". Zumal es geht auch mit einer Datei nicht: Ich habe einen Namen herausgefunden, der auch als einzelne Datei sofort mit bild-2.jpg umbenannt wird: aftermidnight.jpg. Klingt fast geheimnisvoll und ist zum schmunzeln. Kannst es ja bei Dir mal testen. Was hat dieses Wort, was andere nicht haben.
Oder leidet mein Rechner oder Namensdepressionen...
Ergänzung: z.B. werden auch abc-01.jpg abc-02.jpg abc-03.jpg beginnend bei bild-2.jpg umbenannt, hingegen pic-01.jpg pic-02.jpg pic-03.jpg wird korrekt ab bild-1.jpg umbenannt. Wo kann da der Unterschied fürs batchen liegen? Wenn wir das wissen, ist es gelöst.
schöne Grüße
Lutz
Moin Lutz,
lässt sich (wie zu erwarten war) nicht bei mir reproduzieren.
Ratlos guck
Vielleicht hat noch jemand eine Idee... sonst musst Du den Rechner wohl einschicken....
Gruss
Biber
lässt sich (wie zu erwarten war) nicht bei mir reproduzieren.
>@set /a x=1000>nul && for %i in (a*.jpg) do @Set /a "x+=1">nul & @echo rename "%~dpnxi" bild-!x:~-3!%~xi
rename "D:\temp\aftermidnight zwei.jpg" bild-001.jpg
rename "D:\temp\aftermidnight.jpg" bild-002.jpg
rename "D:\temp\aftermidnight.jpgx" bild-003.jpgx
(=14:22:58 D:\temp=)
>@set /a x=1000>nul && for %i in (a*.jpg) do @Set /a "x+=1">nul & @rename "%i" bild-!x:~-3!%~xi
(=14:23:05 D:\temp=)
>dir b*.jpg |find ".jpg"
09.03.2007 14:19 4 bild-001.jpg
09.03.2007 14:18 4 bild-002.jpg
09.03.2007 14:20 4 bild-003.jpgx
(=14:23:09 D:\temp=)
>
Ratlos guck
Vielleicht hat noch jemand eine Idee... sonst musst Du den Rechner wohl einschicken....
Gruss
Biber
Hi Biber,
danke für Deine Geduld mit diesem "Phänomen". Mich kratzt das auch schon. Im DOS-Fenster bei der Testversion (mit echo vor rename) wird das in ALLEN Fällen immer korrekt angezeigt. Wie beschrieben jedoch beim realen Umbenennen beginnt die Bilderfolge in den speziellen Fällen mit -2.jpg. Das Umbennen auf Batch-Ebene ist wohl bis zum dem Punkt wo die Dateien umbenannt werden sollen korrekt. Ratlosigkeit, ja. Ich teste das mal auf einem anderen Rechner.
beste Grüße
Lutz
danke für Deine Geduld mit diesem "Phänomen". Mich kratzt das auch schon. Im DOS-Fenster bei der Testversion (mit echo vor rename) wird das in ALLEN Fällen immer korrekt angezeigt. Wie beschrieben jedoch beim realen Umbenennen beginnt die Bilderfolge in den speziellen Fällen mit -2.jpg. Das Umbennen auf Batch-Ebene ist wohl bis zum dem Punkt wo die Dateien umbenannt werden sollen korrekt. Ratlosigkeit, ja. Ich teste das mal auf einem anderen Rechner.
beste Grüße
Lutz