Originally Posted By: Glenn
Apparently, the DIR() function in kix isn't discriminating the file extensions properly


That's being a little unfair. It's actually functioning correctly.

Try this at a command line:
 Code:
D:\temp>copy nul: test.123
        1 file(s) copied.

D:\temp>copy nul: test.1234
        1 file(s) copied.

D:\temp>dir *.123
 Volume in drive D is Data
 Volume Serial Number is FC87-58C4

 Directory of D:\temp

17/06/2010  15:20                 0 test.123
17/06/2010  15:20                 0 test.1234
               2 File(s)              0 bytes
               0 Dir(s)  10,175,983,616 bytes free


So, what's going on?

Well, if you try the /X flag it all becomes clear:
 Code:
D:\temp>dir /X *.123
 Volume in drive D is Data
 Volume Serial Number is FC87-58C4

 Directory of D:\temp

17/06/2010  15:20                 0              test.123
17/06/2010  15:20                 0 TEST~1.123   test.1234
               2 File(s)              0 bytes
               0 Dir(s)  10,175,983,616 bytes free


When you create the file with the long extension Windows automatically creates a 8.3 file name for backwards compatibility, and for the extension it simply truncates it to the first three characters.

Now, when you dir *.123 the command doesn't know whether you mean the full file name or the 8.3 file name so matches both.

You can disable the 8.3 file name creation using the FSUTIL command, which has the added benefit of improving the file system performance.