Translate Between Short and Long Paths

It is sometimes necessary to convert between short and long paths. For example, in Win95/98, if the Path environment variable string exceeds 1024 bytes, the string gets truncated. Or, some apps do not accept long path names with spaces and short path names are required.

I wrote a simple dialog-based app that takes a path string as an input and produces the short and the long path names as an output. Nothing fancy here. Just plain vanilla code that might prove useful to someone.

For example entering: C:\Program Files\util\vslick\win;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin;C:\PROGRA~1\STINGR~1\OE104\lib;C:\PROGRA~1\STINGR~1\Common\ COMMON~1.01\lib;C:\PROGRA~1\STINGR~1\Common\MVC6~1.01\lib;C:\PROGRA~1\STING R~1\OT601\lib

produces the long path as follows: C:\Program Files\util\vslick\win;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Stingray Objective Studio\OE104\Lib;C:\Program Files\Stingray Objective Studio\Common\Common 6.01\lib;C:\Program Files\Stingray Objective Studio\Common\MVC 6.01\lib;C:\Program Files\Stingray Objective Studio\OT601\lib

and the short path as follows: C:\PROGRA~1\util\vslick\win;C:\PROGRA~1\MICROS~2\Common\Tools\WinNT;C:\PROG RA~1\MICROS~2\Common\MSDev98\Bin;C:\PROGRA~1\MICROS~2\Common\Tools;C:\PROGR A~1\MICROS~2\VC98\bin;C:\PROGRA~1\STINGR~1\OE104\lib;C:\PROGRA~1\STINGR~1\C ommon\COMMON~1.01\lib;C:\PROGRA~1\STINGR~1\OT601\lib;q:\ntutil;q:\util;c:\t ools;q:\es\3rdparty\windows;q:\es\dev

Download demo project - 14 KB

Download demo application (sans source) - 8 KB

Date Last Updated: May 17, 1999