UPDATE: 'SAVE_PLAYLIST' - sichert die Dateien einer Playlist


Wie schon angekündigt und auch von Einigen ungeduldig erwartet, ist nun das 'Save_Playlist'-Script in seiner FINALEN Fassung fertiggestellt.

Das kleine Script kopiert alle Dateien, die in einer Playlist ([[m3u]]-Datei) angeführt sind und sich lokal am Rechner selbst, im lokalen Netzwerk (LAN) oder 'im Internet' befinden in einen Ordner. So kann man schnell und einfach die meist im System und den Laufwerken sowie Web verstreuten Dateien 'zusammensuchen'.

Screenshot 'Saveplaylist' 
 So nun ist es geschafft: SAVE_PLAYLIST liegt nun endlich in der 'Finalen_Version' vor. Was hat sich geändert?

Als wohl wichtigste Neuerung kann das Script nun auch problemlos Dateien mit Umlauten und Sonderzeichen in ihren Namen und Pfaden lesen und kopieren. Die Windows Kommandozeile arbeitet in einem anderen Zeichensatz als ein 'normales' Textfile (in dem die Pfade zu den Songs stehen) verwendet und um der [[CMD]] beizubringen Ös und Äs 'richtig' zu lesen, bedurfte es des kleinen Befehls -> 'chcp 1252' - vielen Dank an Tscho aus Freistadt für diese Lösung.

Wie schon angekündigt ist das Kopieren der Songs nicht mehr nur auf die lokalen Laufwerke des Rechners und die lokale Netzwerkumgebung (LAN) beschränkt sondern es können nun auch Playlisten die Dateien 'aus dem Internet' enthalten kopiert werden. Dabei wird das [[UNIX]]-Downloadtool '[[Wget]]' aus den Unixutils verwendet um die Songs von den Servern zu ziehen.
N.B.: Songs die in 'geschützten' Verzeichnissen liegen ( [[.htaccess]] und [[Robots.txt]] ) werden nicht kopiert. (Wir wollen doch nicht irgendwo 'rumstirrl'n wo andere das nicht möchten)

Und eine Dritte Neuerung gibt es: Wird ein Zielverzeichnis genannt, das bereits existiert wird nun vom Script nachgefragt, ob wirklich das bestehende Verzeichnis als Zielordner verwendet werden soll und somit gleichnamige Dateien darin überschrieben werden oder ob man einen neuen Zielordner definieren will. Thanxs 2 Schlo der das Fehlen dieser Funktion monierte ;)

...zur Anwendung des Scripts:
am einfachsten ist es die Playlist-Datei 'neben' das Script - also in den selben Ordner - zu kopieren und dann save_playlist.cmd zu starten. Nach der einleitenden Erklärung kommt man durch drücken einer Taste zur Abfrage des Zielordners. Gibt man hier 'nur' einen Ordnernamen an, wird einfach neben dem Script ein neuer Ordner mit gewähltem Namen erstellt, alternativ kann man auch einen ganzen Pfad (z.b. d:\daten\music\letzte_party) eingeben.
Nach dem Wählen des Zielordners muss man den Namen des zu verarbeitenden Playlist-Files angeben (ohne .m3u). Liegt das Playlistfile nicht neben dem Script muss man den Pfad angeben (z.b.  d:\daten\playlisten\party - wobei 'party' für 'party.m3u' steht)

-und los geht's - Windows kopiert nun alle gefundenen Dateien in den angegebenen Ordner.

zum Download von 'Save_Playlist':  save_playlist_v1_0.zip

Quelltext von  'Save_Playlist':    save_playlist_v1_0.txt

...und wie funktionierts?
- nun eine Playlist ist ansich nur ein Textfile mit den Pfaden zu den einzelen Nummern und einigen Zusatzinformationen (Tags). 'Save_Playlist' sucht zuerst aus dem Text nur die Pfade und URLs zu den Dateien raus und schreibt sie zeilenweise in eine *.txt Datei. 
Nun kommt noch eine kleine 'for-Schleife' die aus dem  txt-File Zeile für Zeile die jeweiligen Dateien in den Zielordner kopiert - zuerst die lokalen Dateien und die aus dem LAN und anschließend werden (so vorhanden) die Songs aus dem Web mit dem [[UNIX]]-Downloadtool '[[Wget]]' gespeichert mit außnehme von Dateien die in 'geschützten' Verzeichnissen liegen. ( [[.htaccess]] und [[Robots.txt]] )
Sobald Kopiervorgang abgeschlossen ist öffnet sich der Zielordner und zeigt die kopierten Dateien.

Support für 'Save_Playlist' gibt's wie immer über die Kommentare -  würde mich über Feedback freuen.