Ne znam koliko pomaže, ali svaki long filename bi trebao da ima i svoj ekvivalent u skraćenom obliku. Skraćene nazive fajlova iz komandne linije možeš da dobiješ kada otkucaš
dir /X
Kôd:
C:\PROGRA~1>dir /X
Volume in drive C is System
Volume Serial Number is 8A14-5F09
Directory of C:\PROGRA~1
14.07.2009 07:32 <DIR> REFERE~1 Reference Assemblies
16.11.2009 13:59 <DIR> TORTOI~1 TortoiseSVN
14.07.2009 07:37 <DIR> WINDOW~3 Windows Defender
14.07.2009 09:47 <DIR> WI0FCF~1 Windows Journal
12.05.2010 20:26 <DIR> WINDOW~1 Windows Mail
08.11.2009 17:44 <DIR> WI54FB~1 Windows Media Player
14.07.2009 07:32 <DIR> WINDOW~2 Windows NT
Znači npr. prema ovom gore listingu ti bi sa pathom
C:\PROGRA~1\WI54FB~1\ dospeo u folder
C:\Program Files\Windows Media Player\ sa velikom uštedom na broju karaktera.
Ne znam konkretno da li ti ovo pomaže pošto ne razumem problem u potpunosti. Mada ako ovaj short file name može da se izvuče preko .NET frejmvorka, verujem da bi ti to sve rešilo.
Edit: Izgleda da
može iz .NET direktnim pozivom API funkcije GetShortPathName.