Ruebyi,
Pretty quick fix, just replace the line (in your code):
strNewText = Replace(strText, "\BlackBerry\music\", "\SDCard\Blackberry\music\")
with the following:
If InStr (strText, "SDCard") < 1 Then
strNewText = Replace(strText, "\BlackBerry\music\", "\SDCard\Blackberry\music\")
End If
That should fix the problem. I started searching on the web about trying to fix this playlist issue and it kills me that A) the black berries aren't "smart" enough to figure out the playlist thing and b) that there is no way to control it out of MM. Love the product (lifetime member) but I would think that bb having a pretty large market they would have some dll or option or something. Anyway, since I'm sick and I'm stuck at home, I decided to take up some vbs...its been a long, long time since I programmed but I figured it out, a pretty clean way to code it up and it works for me. Below is the code that you could just cut and paste into a file, name it something .vbs and run it. Just make sure you change the drive letter, depending on how the Mass storage device connects to your machine.
I love MM and dumped my iphone (in water) and went back to a bb (had a curve before) bold 2 9700. With this fix I just worked up, I'm all good....now only if MM would have post process script link....
I'm basically getting a list of all files in the \music folder, opening the .m3u pulling the whole thing into memory, doing a find and replace, then over writing the org file.
Is there a better way, yes...is there a cleaner way...yes....does it work...yes...just wanted to get that out there
Const ForReading = 1
Const ForWriting = 2
PlayListsLocation = "D:\BlackBerry\music\"
OldPath = "\BlackBerry\music\"
NewPath = "\SDCard\BlackBerry\music\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set PLFolder = objFSO.GetFolder(PlayListsLocation)
set PLFiles = PLFolder.Files
for Each x in PLFiles
If InStr (LCase(x), ".m3u") And (x.size > 0) Then
Set objFile = objFSO.OpenTextFile(x, ForReading)
PlayList = objFile.ReadAll
objFile.Close
If Instr (PlayList, NewPath) < 1 Then
PlayList = Replace(PlayList, OldPath, NewPath)
End If
Set objFile = objFSO.OpenTextFile(x, ForWriting)
objFile.Write PlayList
End If
Next