tags:

views:

86

answers:

2

I'm looking for a function which can return the 'short' (8.3 notation) path for a given 'long' path. However, the GetShortPathName function (which seemed like a perfect fit) doesn't work for me since it requires thata file with the given long path exists already.

What other options do I have for computing the 8.3 path for a given long path?

+8  A: 

If the file does not exist, it does not have an 8.3 name. The 8.3 name is created when the file is created. You can of course get the 8.3 pathname for the directory it's in using GetShortPathName on the directory itself, if you need that.

Regardless, this is 2010. It's really backwards to be using 8.3 names for anything.

R..
I've actually used GetShortPathName to pass unicode path names to old libraries that blow up on UTF-16, it's still backwards, but it shows there's still a use.
Matt Joiner
+1  A: 

Try PathGetShortPath function.

Alex Farber