display | more...
Type of filenames on MS-DOS and derived systems, including to a certain extent Windows 95 and Windows 98 (see below). The name refers to a hard limit of 8 characters for the "filename" part, and 3 characters for the "extension" part. In addition, filenames are case insensitive (some people actually consider this a feature). For example, MICROSOFT is not a legal filename, but MICROSOF.T is.

There are several problems with this naming scheme. First, even with directories, 8 characters really aren't enough for anything. While perhaps a reasonable limitation in the days of CP/M, most people aren't using 8 bit microcomputers with 5.25'' floppy disks any longer!

The extensions don't really make the namespace any larger with most MS-DOS (and Windows) software. Instead, they're taken to be the type of the file. So if you have files called PRECIOUS.DOC and PRECIOUS.XLS containing an extremely important Word document and associated Excel spreadsheet, working on each will use the same backup file PRECIOUS.BAK, losing the other backup. This is not a Good Thing.

Finally, the extensions aren't really a file type. I can write anything in a .COM file, and I can easily rename a .DOC file to be a .RTF file. This doesn't make them have the new type, though; software which relies on extensions will fail, often silently.

The advent of Windows 95 has partially lifted the 8.3 restriction. Filenames are still stored as 8.3 (MICROS~1), but can also have a long filename (Microsoft); the long filename is case insensitive but case preserving. Unfortunately, the short name is usable anywhere the long name is (the converse is usually true, too). If the long name has a 3-character (or shorter) extension, it is treated as the short name's extension, too. This can cause problems -- storing a file named Thesis.old from Word will create a file named Thesis.old.doc, and files named ILOVEU.TXT.VBS will appear as .TXT files after the extension (which gives the system, though not the user, the file type) is stripped.

Log in or register to write something here or to contact authors.