How does "PROGRA~1" path notation work?
Knowledge base entry
Basically on FAT systems all directory entries are still stored in a format compatible with the old 8.3 format; longer names are stored in a series of hidden entries. The short name is there for compatibility.
These are 8.3 filenames, and date back to the days of MS-DOS, which did not support longer filenames.
Windows 95 and VFAT introduced the ~N
tilde notation as a backward compatibility mechanism, to give each long file name a unique 8.3 short file name, too.