Umbennen von mp3-Dateien in Unterordnern

#1

Ich möchte bestimmte Dateien in einem Pfad mit sehr vielen Unterverzeichnissen umbenennen.
Der Pfad heißt W:\m\A\geo\RPJ-Interpr
Die Dateien heißen (.jpg.mp3) und (00. __mp3-Container.mp3) Hinweis: Zwischen Punkt und Unterstrich ist ein Leerzeichen.
Die neue Dateierweiterung soll heißen mp3dummy

Es funktioniert im Bat-File mit der ersten Variante
FOR /R W:\m\A\geo\RPJ-Interpr %%i IN (*.jpg.mp3) DO ren "%i" "%~ni.mp3dummy"

Mit der zweiten variante
FOR /R W:\m\A\geo\RPJ-Interpr %%i IN (00. __mp3-Container*.mp3) DO ren "%i" "%~ni.mp3dummy"
dagegen erhalte ich die Fehlermeldung
REN "W:\m\A\geo\RPJ-Interpr\N\Noble Savage\2007 - Killing for Glory\00." "00.mp3dummy"
Das System kann die angegebene Datei nicht finden.

Ich habe es mit Anführungszeichen versucht, weil ich glaubte es hängt mit dem Leerzeichen im Dateinamen zusammen.

Ich habe es jedenfalls nicht hinbekommen. Auch nicht in verschiedenen Versionen.

Fragen: Ist das Leerzeichen im Dateinamen relevant?
Wenn ja, wie muß ich die FOR-Zeile für (00. __mp3-Container*.mp3) abändern?

#2

Guten Morgen mein lieber Manfred, probiere es noch einmal mit den Anführungszeichen so ...
("00. __mp3-Container*.mp3")

Du kannst die Dateien auch mit Mp3tag umbenennen.

Variante 1.
Aktion: Umbenennen mit regulärem Ausdruck
Feld: _FILENAME
RegExp: ^((.+.jpg|.+mp3-Container.+).mp3)$
Ersetzen $1dummy

Variante 2.
Filter: "%_FILENAME%" HAS "Container" OR "%_FILENAME%" HAS ".jpg"
Aktion: Umbenennen mit regulärem Ausdruck
Feld: _FILENAME
RegExp: (.+.mp3)
Ersetzen $1dummy

DD.20131224.0836.CET
DD.20131224.1135.CET

#3

Danke für die schnelle Antwort. Lediglich die Anführungszeichen einzusetzen reicht leider nicht. Ich erhalte dann einen Syntaxfehler.

FOR /R W:\m\A\geo\RPJ-Interpr %i IN ("00. __mp3-Container*.mp3") DO ren "~ni.mp3dummy"
ren "~ni.mp3dummy"
Syntaxfehler.

Eine Lösung mit mp3tag ist leider unmöglich, weil ich dazu alle mp3's einlesen müßte. Das übersteigt leider bei Weitem die Kapazitätsgrenze von mp3tag. Idealerweise sollte "REN" mit anderen Komanndos innerhalb einer bat-Datei laufen. Nunmehr habe ich Bulk-Rename-Utility manuell eingesetzt. Das kann natürlich auch nicht innerhalb einer bat-Datei laufen.

#4

Ich habe den FOR-Ausdruck auf der Kommandozeile ausprobiert und hier funktioniert es.
FOR /R "T:\TEST_CDX" %i IN ("00. __mp3-Container*.mp3") DO ren "%i" "%~ni.mp3dummy"
Beachte die richtige Benutzung der Prozentzeichen, die zu den DOS Variablen gehören.
Wenn du eine Stapeldatei benutzt, dann beachte eventuell das Verdoppeln der Prozentzeichen.

T:\TEST>FOR /R "T:\TEST\_CDX" %i IN ("00. __mp3-Container*.mp3") DO ren "%i" "%~ni.mp3dummy"
T:\TEST>ren "T:\TEST\_CDX\CD 1\00. __mp3-Container1.mp3" "00. __mp3-Container1.mp3dummy"
T:\TEST>ren "T:\TEST\_CDX\CD 1\00. __mp3-Container2.mp3" "00. __mp3-Container2.mp3dummy"
T:\TEST>ren "T:\TEST\_CDX\CD 10\00. __mp3-Container10.mp3" "00. __mp3-Container10.mp3dummy"
T:\TEST>ren "T:\TEST\_CDX\CD 10\00. __mp3-Container20.mp3" "00. __mp3-Container20.mp3dummy"

von ...
T:\TEST\_CDX\CD 1
00. __mp3-Container1.mp3
00. __mp3-Container2.mp3
T:\TEST\_CDX\CD 10
00. __mp3-Container10.mp3
00. __mp3-Container20.mp3
nach ...
T:\TEST\_CDX\CD 1
00. __mp3-Container1.mp3dummy
00. __mp3-Container2.mp3dummy
T:\TEST\_CDX\CD 10
00. __mp3-Container10.mp3dummy
00. __mp3-Container20.mp3dummy

DD.20131225.1645.CET

#5

Danke! Danke! Danke! Das war die Lösung. Ich habe 3mal das Doppel-Prozentzeichen ersetzt ... und dann lief es. Außerdem habe ich mir noch den DOS-bat-Kurs angesehen.