Greg,
Thanks for the reference, the shlwapi.dll Sergey pointed me at looks like the lightest weight and highest performance solution.
>There is a function in VBscript called Escape() that does what you are looking for. Also, there is a function called UnEscape() that preforms the reverse. You may have to use WSH (Windows Script Host) to call the VBscript code.