![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#17 |
Jr. Member
![]() Registriert seit: 26.09.2003
Beiträge: 22
|
![]() dank dem Hinweis von catch17.
Und hier die Lösung wie man aus einem WinAmp Playlistfile xxx.m3u die mp3-Files auf ein Verzeichnis zusammenführt 1.) Im xxx.m3u File steht z.B. folgendes (Auszug) D:\Musik\Oberon\Best_Of_Austro_Pop_Vol_2\2_20_EAV_-_Morgen...mp3 #EXTINF:215,Spider Murphy Gang - Schickeria M:\Pegasus\Fetenhits_-_Neue_Deutsche_Welle\2_05_Spider_Murphy_Gang_-_Schickeria.mp3 #EXTINF:288,Nena - 99 Luftballons (Old Live Version) M:\Diverses\05 - Nena - 99 Luftballons (Old Live Version).mp3 #EXTINF:182,Geier Sturzflug - Bruttosozialprodukt D:\Musik\Oberon\Die_80er_Show_2_-_RTL_Sendung\1_13_-_Geier_Sturzflug_-_Bruttosozialprodukt.mp3 #EXTINF:212,Udo Lindenberg - Sonderzug nach Pankow D:\Musik\Oberon\Die_80er_Show_2_-_RTL_Sendung\1_06_-_Udo_Lindenberg_-_Sonderzug_nach_Pankow.mp3 #EXTINF:219,Spider Murphy Gang - Skandal Im Sperrbezirk L:\Interpreten_Alben\S\Spider_Murphy_Gang\Greatest _Hits\01_Spider_Murphy_Gang_-_Skandal_Im_Sperrbezirk.mp3 #EXTINF:197,Spider Murphy Gang - WO BIST DU L:\Interpreten_Songs\S\SPIDER MURPHY GANG\Spider Murphy Gang_ Wo Bist Du.mp3 2.) Mein Batchfile mycopy.bat sieht so aus: :: WINAMP Playlist-Crawler :: by Spegu 27.7.06 :: Ver1 :: :: mit der Variable ZIEL wird das Zielverzeichnis festgelegt :: dort werden die MP3-Files hinkopiert SET ZIEL=c:\schmier\batch\kopie\*.* :: Die Variable PLAYLIST gibt den Namen des WinAmp Playlistfile an :: eine Pfadangabe waere auch moeglich SET PLAYLIST=test.m3u :: SUCHSTRING gibt an welche Zeile aus dem Playlistfile übernommen werden soll. :: hier muessen Strings stehen die sich eindeutig in einem Dateipfad befinden. :: Hier werden aus dem Playlistfile alle Zeilen gefiltert in der der LW-Buchstabe M:, N:, L: vorkommen :: ACHTUNG! bei einer Angabe von M:\ (also mit Backslash) funktioniert das Batchfile nicht mehr. SET SUCHSTRINGS=M: N: L: :: damit man den Fortschritt sieht echo on :: findstr erstellt eine Zwischendatei (hier gefiltert.txt) in der nur mehr zeilenweise die :: Pfade stehen. "/I" Groß/Kleinschreibung egal; ">gefiltert.txt" Bildschirmausgabe des Befehls :: "findstr" wird in eine Datei umgelenkt findstr /I "%SUCHSTRINGS%" %PLAYLIST% >gefiltert.txt :: diese "for /F"-Schleife nimmt jetzt jede Zeile (durch die Angabe von "tokens=*") aus dem file :: gefiltert.txt und führt das das Kopierkommando xcopy aus. Quelle ("%%i") ist jetzt jeweils eine :: Zeile aus dem File. Die Anführungszeichen sind notwendig falls die Pfadangabe Leerzeichen enthält. for /F "tokens=*" %%i in (gefiltert.txt) do xcopy "%%i" %ZIEL% :: ACHTUNG :: Sonderzeichen wie z.B.ö,ä in der Playlist machen große Probleme. Diese Files werden dann :: möglicherweise nicht kopiert. :: wenn man die Befehle in der Kommandozeile eingeben will muss man statt %%i nur %i verwenden! :: alle obigen Files (mycopy.bat, test.m3u) sollten in einem Verzeichnis liegen. Sonst muss man die Pfade :: richtig setzen :: Starten des Batchfiles durch eingabe von "mycopy" in der DOS Kommandozeile. Und schon hat man alle Files der letzten Party in einem Verzeichnis zusammenkopiert. mycopy.bat siehe im Anhang spegu |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|