jamhead
Goto Top

Ordnernamen automatisch auslesen und in Batch-Datei integrieren ?

Hallo zusammen,

Ich gebs ja zu ich bin dem ganzen Bereich noch ziemlich neu aber auch die Tutorials helfen mir leider nicht weiter...vielleicht geht das was ich vorhabe auch garnicht (vielleicht ist es aber auch seeehreinfach *g*)..Aber nunmal der Reihe nach:

Ich habe eine Batch-Datei erstellt die mir aus einzelnen MP3-Ordnern eine Playlist erstellen soll. Diese habe ich über SendTo ins Kontextmenü eingebunden und das klappt auch wunderbar. Die Batch-Datei sieht folgendermaßen aus:

Pushd "%1"
chcp 1252
dir /b /o:n *.mp* *.ogg *.fla* *.ape *.aac *.wv *.wav > playlist.m3u


Das bedeutet also Wenn ich rechts auf AlbumXY klicke (Senden an>playlist.bat) werden die im Ordner AlbumXY befindlichen Mp3s in einer Playlist namens playlist.m3u zusammengefasst.
Leider heißt aber so logischerweise jede Playlist playlist.m3u

Ist es möglich den jeweiligen Ordnernamen als Titel für die Playlist zu nehmen ? Die Playlist soll also nicht mehr playlist.m3u sondern Ordnername.m3u heissen. Könnt ihr mir erklären wie ich das anstelle ?

Lieben Gruß
Philipp Rabe

Content-Key: 35241

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

Printed on: April 18, 2024 at 22:04 o'clock

Member: Biber
Biber Jul 02, 2006 at 17:42:35 (UTC)
Goto Top
Moin Jamhead,

das lässt sich hier leider nicht vermeiden, dass bei der Anzahl der Benutzer und der Fragen im Forum manche "passenden" Lösungen nicht so schnell wiedergefunden werden.
Auch unter Deiner Beitragsüberschrift wird möglicherweise der/die nächste mit der gleichen Anforderung nicht die Lösung bzw. die gleiche Frage vermuten.

Eine mögliche Lösung mit kurzer Herleitung.. (zum Nachturnen am CMD-Prompt):
...Ersetzen aller "\" in der Variablen %CD% durch Anführungszeichen-Komma-Anführungszeichen...
D:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft>
$cmd$for %i in ("%cd:\=","%") do @echo %i  
"D:"  
"Dokumente und Einstellungen"  
"All Users"  
"Anwendungsdaten"  
"Microsoft"  
...so bekomme ich das aktuelle Verzeichnis "zerlegt"...

Eingebaut in Dein Skript zum Beispiel so:
::---snipp MakeNewPlaylist.bat
@echo off & setlocal
Pushd "%1"  
for %%i in ("%cd:\=","%") do set "MyPlaylist=~%%i.m3u"  
Echo [Debug]: Playlist heisst: %Myplaylist%
chcp 1252
dir /b /o:n *.mp* *.ogg *.fla* *.ape *.aac *.wv *.wav >%MyPlayList%
::...
:: .....
PopD
::---snapp MakeNewPlayList.bat

Hope It Helps
Biber
Member: Jamhead
Jamhead Jul 02, 2006 at 18:08:46 (UTC)
Goto Top
Wunderbar!! Genau so klappt das. Und vorallem danke für die Herleitung...bin mittlerweile ganz begeistert was sich mit Batch-Dateien alles anfangen lässt. Und auch mal einen Dank an das gesamte Forum. Auch bei anderen problemen hat mir das Forum (auch ohne registriert zu sein) schon oft weitergeholfen. Im Vergleich zu anderen IT-Foren gibt es hier zum Glück recht wenig "Besserwisser" sondern Leute die einem gerne weiterhelfen!

Nochmals vielen Dank!
Member: Metzger-MCP
Metzger-MCP Jul 02, 2006 at 19:33:03 (UTC)
Goto Top
@ Batch

Ja so ist das mit den Batchdatein, das sind schon alllllte Viecher face-smile.
Die Biester sind schon soooooooooooo alt und trotzdem immer noch aktuell face-smile,
und das schlimme daran ist, einiges wäre ohne Batch nicht lösbar, oder wenigstens
nur mit erheblichen Aufwand. Es gibt wirklich noch etwas das aus DOS stammt, das
nützlich ist und auch bei Windows bis dato überlebt hat. Batch reicht bis in die 80 zurück,
da wo 4MB Ram reinster Luxus war face-smile. Hoffe das bleibt noch lange so.

~~~~~~ tief an die vergangenden Tagen zurückdenkend verbleibe ich mit

Mfg Metzger