Directory search in Windows Command Prompt shows incorrect output
dir /x
For compatibility reasons, Windows generates a 8.3 name for every long file name created, and wildcard matching code (FindFirstFile()
) checks both the original and shortened names. Use dir /x
to see what short names are assigned to each file.
Usually the auto-generated short names look like 090820~1.PDF
and 090820~2.PDF
and so on, but there are exceptions:
[...] if at least 4 files or folders already exist with the same initial 6 characters in their short names, the stripped LFN is instead truncated to the first 2 letters of the basename (or 1 if the basename has only 1 letter), followed by 4 hexadecimal digits derived from an undocumented hash of the filename, followed [...]
Moving a file within the same partition does not change either of its names, only relocates them.
When using the NTFS filesystem, 8.3 name creation can be disabled system-wide using:
fsutil behavior set disable8dot3
However, this won't affect existing names.