Next: name clashes, Previous: directory, Up: Common features [Contents][Index]
This version of mtools supports VFAT style long filenames. If a Unix filename is too long to fit in a short DOS name, it is stored as a VFAT long name, and a companion short name is generated. This short name is what you see when you examine the disk with a pre-7.0 version of DOS. The following table shows some examples of short names:
Long name MS-DOS name Reason for the change --------- ---------- --------------------- thisisatest THISIS~1 filename too long alain.knaff ALAIN~1.KNA extension too long prn.txt PRN~1.TXT PRN is a device name .abc ABC~1 null filename hot+cold HOT_CO~1 illegal character
As you see, the following transformations happen to derive a short name:
;+=[]',\"*\\<>/?:|
.
~
n number is generated,
The initial Unix-style file name (whether long or short) is also called the primary name, and the derived short name is also called the secondary name.
Example:
mcopy /etc/motd a:Reallylongname
Mtools creates a VFAT entry for Reallylongname, and uses REALLYLO as a short name. Reallylongname is the primary name, and REALLYLO is the secondary name.
mcopy /etc/motd a:motd
Motd fits into the DOS filename limits. Mtools doesn’t need to derivate another name. Motd is the primary name, and there is no secondary name.
In a nutshell: The primary name is the long name, if one exists, or the short name if there is no long name.
Although VFAT is much more flexible than FAT, there are still names
that are not acceptable, even in VFAT. There are still some illegal
characters left (\"*\\<>/?:|
), and device names are still
reserved.
Unix name Long name Reason for the change --------- ---------- --------------------- prn prn-1 PRN is a device name ab:c ab_c-1 illegal character
As you see, the following transformations happen if a long name is illegal:
-
n number is generated,
Next: name clashes, Previous: directory, Up: Common features [Contents][Index]