FYI, looking around a bit on Google it appears this question has been posted before without a clear answer...in fact, lots of places without clear answers. One guy went so far as to "cheat" as he put and used WSH. But that's not much better than my "cheat". So, aside from Mark's short code request, I'd suggest spending some more time with Google.
Mark, Do you know if it's possible to get all the usual "right-click" file properties using win32com or ctypes? I know Windows presents short names via properties, but wasn't sure that's exposed via either. I googled this but didn't see a clear direction after the first 50 hits. May be a bad search on my part. Bobby -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Hammond Sent: Wednesday, May 24, 2006 4:03 PM To: DurumDara; python-win32@python.org Subject: Re: [python-win32] Try to got short path for files - but goterror... I'm afraid your message isn't very clear. You should try and copy the smallest possible code that demonstrates your problem, exactly as Bobby did in his reply. > > I got errors with unicode file names. See my unicode test file name: > UFN=u'%s\\xA\xff'%os.getcwd() Is that what you mean? You have a literal backslash, followed by 'xa', followed by unicode char ff. Eg: >>> u'%s\\xA\xff'%os.getcwd() u'c:\\src\\xA\xff' >>> The 'xA' is *not* a unicode char in your example. > I want to get an universal code the convert (unicode) long path to short > path. There is no way you can do that. Windows allocates the short name for a file as it is created. That short name is not guaranteed to be the same on 2 different machines. The only way to get the short name is to ask Windows for it. > >> Looks like you need a GetShortPathNameW() but it's not implemented. > >> Raise it as an issue on the pywin32 sourceforge bug register. > >> Tell Mark > >> I sent you :-) > >> Another thought: try using ctypes. Note that Windows uses MBCS encoding - so you can use win32api.GetShortPathName(filename).decode('mbcs') to get the unicode filename. That only works if the unicode characters are all in your current codepage, but that is usually the case. GetShortPathName does need upgrading to accept a unicode object and in that case call GetShortPathNameW. Cheers, Mark _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32 _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32