fffffuuuuuuuhhhh
Goto Top

Dateinamen mit Batch-Datei ändern - Problem

Hallo zusammen,

ich, stelle regelmäßig .mp3-Dateien her, die folgendermaßen von meinem Audioprogramm beschriftet wird:

[Interpret]-[Titel].mp3

Das Ergebnis soll aber folgendermaßen sein sein:

xxxx  [Interpret]-[Titel].mp3

"xxxx" steht für ein Wort, das eingefügt werden soll. Danach sollen zwei (!) Leerzeichen eingefügt werden.

Bisher habe ich es mit diesem Code versucht:

@echo off & setlocal ENABLEDELAYEDEXPANSION
for %%a in ("C:\Ordner\*.mp3") do (  
    set "name=%%~nxa"  
    ren "%%a" "!name:~0,0!xxxx  *"  
)

Es werden zwar zwei Leerzeichen eingefügt, llerdings wird hier jedesmal der erste Buchstabe des Interpreten gelöscht
Bsp:
xxxx  he Beatles...



Leider reichen meine Fähigkeiten nicht aus den Fehler allein zu finden.

Kann mir da jemand weiterhelfen?
Welchen command muss ich in der Batch-Datei angeben?

Danke schon im Voraus!

Content-Key: 333399

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

Ausgedruckt am: 19.03.2024 um 08:03 Uhr

Mitglied: MrCount
MrCount 27.03.2017 um 16:43:42 Uhr
Goto Top
Hast du die Frage nicht erst gestellt??

--> Teile eines Dateinamens ändern mit Batch Datei
Mitglied: fffffuuuuuuuhhhh
fffffuuuuuuuhhhh 27.03.2017 um 16:47:36 Uhr
Goto Top
Eine ähnliche Frage habe ich letztens gestellt.

Jedoch die Lösung lässt sich nicht analog auf den Anfang der Datei anwenden. Zumindest bekomme ich das irgendiwe nicht hin, daher wende ich mich nochmal an die Community.
Mitglied: Pjordorf
Pjordorf 27.03.2017 um 17:20:12 Uhr
Goto Top
Hallo,

Zitat von @fffffuuuuuuuhhhh:
Eine ähnliche Frage habe ich letztens gestellt.
Eher nicht nur ähnlich. Vorher sollte es so
[Interpret]-[Titel]_xxxxxx.000.MP3
aussehen, jetzt soll es plötzlich so
xxxx [Interpret]-[Titel].mp3
aussehen. Einmal wolltest du am Ende deine Xer haben, jetzt sollen die plötzlich am Anfang stehen. Das aufgrund deiner Anforderung verschiedener Code genommen wurden muss ist wohl auch die klar, oder? Aber das der gleiche Code nicht zwingend auf deine unterschiedlichen anforderungen passt ist wohl auch klar, oder? Nur das abändern reicht alleine nicht.
Nimm
@echo off & setlocal ENABLEDELAYEDEXPANSION

for %%a in ("e:\Daten\*.xlsm") do (  
    set "name=xxxx  %%~nxa"  
    ren "%%a" "!name!"  
)
Ein Echo ON anstelle ein Echo OFF zeigt dir auch was wo passiert wenn man es testet und man ein REN in ein ECHO wandelt!

Gruß,
Peter
Mitglied: fffffuuuuuuuhhhh
fffffuuuuuuuhhhh 27.03.2017 um 17:40:50 Uhr
Goto Top
Meine erste Frage bezog sich auf die Dateiendung und die Abgrenzung von einer Zahl mit ".000".
Diese Frage wurde beantwortet und dieser Code läuft auch einwandfrei.

Jetzt möchte ich zu dem vorangegangenen Code noch den Anfang des Dateinamen ändern. Das Ende (xxxxxx.000.MP3) soll genauso bleiben wie es war.

Alles was ich brauche/brauchte, war ein Code der den Anfang des Dateinamens ändert und das Ende nicht verändert.

Mein Ziel war:

xxxx  [Interpret]-[Titel]_0123456.000.MP3

Es gibt sicher eine elegantere Möglichkeit, als den von Pattern entwickelten Code und euren Code hintereinander zu schreiben. Aber ich bin erst seit Freitag in dem "Game of Coding" und suche das Internet nach Tutorials u.ä. ab. Daher ist es bei mir bisher ein "Try, Error and Asking"-Ding.

Sorry, wenn ich euch verwirrt habe.
Mitglied: 132692
Lösung 132692 27.03.2017 aktualisiert um 17:49:26 Uhr
Goto Top
Änderst du einfach in meinem dir zuletzt geposteten Code Zeile 4 so ab
ren "%%a" "xxxxxx !name:~0,-7!.000.MP3"   
fertig.
Wenn man sich mal ren /? und den geposteten Link im letzten Beitrag angesehen hätte face-confused... Fahrradkette.
Heute scheint der Freitag immer noch das Wochenende überlebt zu haben.

Gruß p.
Mitglied: fffffuuuuuuuhhhh
fffffuuuuuuuhhhh 27.03.2017 um 17:55:44 Uhr
Goto Top
Danke.
Mitglied: fffffuuuuuuuhhhh
fffffuuuuuuuhhhh 27.03.2017 um 19:20:01 Uhr
Goto Top
Ist es möglich mittels eines batch-files Sonderzeichen durch normale Buchstaben (z.B.: ä->ae, &->und usw) auszutauschen?
Mitglied: 132692
132692 27.03.2017 aktualisiert um 19:31:00 Uhr
Goto Top
http://www.dostips.com/?t=batch.findandreplace

Besser du eignest dir gleich Powershell an anstatt Batch.
Mitglied: Pjordorf
Pjordorf 27.03.2017 um 19:47:09 Uhr
Goto Top
Hallo,

Zitat von @fffffuuuuuuuhhhh:
Jetzt möchte ich zu dem vorangegangenen Code noch den Anfang des Dateinamen ändern. Das Ende (xxxxxx.000.MP3) soll genauso bleiben wie es war.
Hast du oben aber nicht so geschrieben bzw. formuliert. Deine Anforderungen sind zwei verschiedene. Ist aber jetzt eindeutig geklärt. Wolltest
noch den Anfang des Dateinamen ändern. Das Ende (xxxxxx.000.MP3) soll genauso bleiben wie es war.
xxxx [Interpret]-[Titel]_0123456.000.MP3
aber
"xxxx" steht für ein Wort, das eingefügt werden soll. Danach sollen zwei (!) Leerzeichen eingefügt werden.
xxxx [Interpret]-[Titel].mp3
geschrieben.

Gruß,
Peter