DOS Days

DOS 8.3 Filenames

This has nothing to do with the version of DOS you're running. 8.3 Filenames are so-called because of the limitation of a file's name to be 8 characters plus a 3 character file extension. This is often referred to as Short Filename or SFN in the modern era to distinguish it from Long Filename (LFN) which was made possible with the introduction of Windows 95 with VFAT. VFAT maintained backward compatibility with FAT, but relaxed the rules. VFAT filenames can be up to 255 characters long, include spaces and multiple dots (periods). VFAT also allows both upper and lowercase characters but it's not considered case-sensitive. When you create a long filename with VFAT, two different filenames are actually stored. The first is the long filename you entered. The second is called an MS-DOS alias, which is an abbreviated form of the long filename. This is made up of the first 6 characters followed by a tilde (~) and a numeric trailer, e.g. MYFILE~1.TXT.

All versions of DOS from 1.0 up to 6.22 support only Short Filenames, so a file called my_novel.txt is valid and will appear in the directory listing as my_novel.txt. But my_new_novel.txt will not - in DOS, characters that are used after the 8.3 limit are simply ignored, so the filename would be called my_new_n.txt.

There is a utility called DOSLFN written by Henrik Haftmann that adds support for LFNs in pure DOS (not a DOS shell running in Windows). Two versions exist: v0.34d does not require SHSUCDX (a replacement for the standard DOS MSCDEX driver) for CD-ROM support, while the later v0.41f does. The latter requires a 386 CPU.