Windows XP and later OSes have a NoStrCmpLogical API that allows sorting numerically rather than lexicographical.
All references say this is not supported until after Windows 2000, yet, somehow that does not seem to be the case:
On the left, you can see lexiographic (string) sorting, which Microsoft alleges is the behavior in Windows 2000 and prior.
On the right, you can see numerical sorting, which is the default starting with Windows XP (although lexicographic is still possible).
Clearly, both of the sorting algorithms work, depending on how Explorer is sorting.
- When I sort by Type, I observe lexicographic sorting, which Microsoft claims is the only sorting behavior in Windows 2000
- When I sort by Name, I observe numerical sorting, which, according to Microsoft, should not even be possible in Windows 2000
I prefer sorting by Type, because the file extension of a file tends to be more important to me than its actual name, so it’s easier to find things that way, particularly in folders with lots of files.
However, I also prefer numerical sorting. Windows 2000 seems to bundle numerical sorting with sorting by name. I set the default to Type, but this seems to enforce lexicographic sorting.
Can I have my cake and eat it, too? Is there a way to sort by Type while retaining numerical sorting?