|
![]() |
#1 |
Super Moderator
Knowledge base
Datum učlanjenja: 20.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() 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 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. Poslednja izmena od mileusna : 13. 08. 2010. u 18:44. |
![]() |
![]() |
![]() |
#2 | |
profesionalac
Qualified
Datum učlanjenja: 24.08.2009
Lokacija: Berlin
Poruke: 101
Hvala: 37
300 "Hvala" u 17 poruka
![]() ![]() ![]() ![]() |
![]() Citat:
Nekako sam uspeo da prepravim app da koriscenjem UNICODE verzija odredjenih API fja. uspe da se izbori sa dugim putanjama (tako se maksimalna duzina povecava na 32000 karaktera) Kôd:
[DllImport("kernel32", CharSet = CharSet.Unicode)] public static extern IntPtr FindFirstFile(string lpFileName, out WIN32_FIND_DATA lpFindFileData); [DllImport("kernel32.dll", CharSet = CharSet.Unicode)] static extern bool CopyFile(string lpExistingFileName, string lpNewFileName, bool bFailIfExists); Poslednja izmena od eraser : 20. 08. 2010. u 09:38. |
|
![]() |
![]() |
![]() |
|
|