A: Windows Media Player uses an XML format to store the playlists and includes all the files and locations of the music files. I created a small Windows PowerShell script that parses the playlist file, finds the files, and copies them to the passed location. The script is shown below:
# copyWPL.ps1 write-host "Searching file "$args[0]" for media files and sending to "$args[1]"`n" [System.Xml.XmlDocument] $xd = new-object System.Xml.XmlDocument $file = resolve-path($args[0]) $xd.load($file) $dest = $args[1] if (!$dest.EndsWith("\")) #if no ending slash we need to add it { $dest = $dest + "\"} $nodelist = $xd.selectnodes("/smil/body/seq/media") # XPath is case sensitive foreach ($mediaNode in $nodelist) { $src = $mediaNode.getAttribute("src") write-host "Copying file $src" Copy-Item $src $dest } write-host "`nCompeted Copy`n"
To use it, I pass the playlist file and the location to copy the extracted music files to. An example is shown below (and no comments on my music choices).
PS D:\temp> .\parseWPL.ps1 Boxing.wpl d:\temp\mp3
Searching file Boxing.wpl for media files and sending to d:\temp\mp3
Copying file D:\Multimedia\Music\The Ultimate Remix .mp3
Copying file D:\Multimedia\Music\Original Soundtrack\Road Trip\5 - Anything, Anything (I'll Give You).mp3
Copying file D:\Multimedia\Music\Crazy Town\Butterfly\2 - Butterfly (Epic Remix).mp3
Copying file D:\Multimedia\Music\Stone Sour\Come What(ever) May\9 - Socio.mp3
Copying file D:\Multimedia\Music\Fall Out Boy - I Dont Care [Single Version].mp3
Copying file D:\Multimedia\Music\Lady GaGa\The Fame\03 - Paparazzi.mp3
Copying file D:\Multimedia\Music\50 Cent\In da Club\1 - In da Club.mp3
Copying file D:\Multimedia\Music\Snap\The Madman's Return\9 - Rhythm Is A Dancer.mp3
Copying file D:\Multimedia\Music\Various Artists\Now, Vol. 22\3 - Ridin'.mp3
Copying file D:\Multimedia\Music\Emf\Various\18 - Emf - 6 - Unbelieveable.mp3
Copying file D:\Multimedia\Music\05_-_Remember_The_Name_(Album_Version)_[Explicit].mp3
Copying file D:\Multimedia\Music\Snap!\World Power\01 - The Power.mp3
Copying file D:\Multimedia\Music\Various Artists\Smallville, Vol. 1 - The Talon Mix\1 - Save Me.mp3
Copying file D:\Multimedia\Music\Lady GaGa\The Fame Monster (Deluxe)\12 - Poker Face.mp3
Copying file D:\Multimedia\Music\Muse\The Resistance\01 - Uprising.mp3
Copying file D:\Multimedia\Music\Various Artists\The Rocky Story\2 - Burning Heart.mp3
Copying file D:\Multimedia\Music\Eminem\Recovery [Explicit]\15 - Love The Way You Lie [Explicit].mp3
Completed Copy
The script also works with Zune playlists that are XML based.
Got technology issues? We've got technology answers. Check out John Savill's FAQs for Windows.