mattrib - change MSDOS file attribute flags mcd - change MSDOS directory mcopy - copy MSDOS files to/from Unix mdel - delete an MSDOS file mdir - display an MSDOS directory mformat - add an MSDOS filesystem to a low-level formatted diskette mlabel - make an MSDOS volume label mmd - make an MSDOS subdirectory mrd - remove an MSDOS subdirectory mread - low level read (copy) an MSDOS file to Unix mren - rename an existing MSDOS file mtype - display contents of an MSDOS file mwrite - low level write (copy) a Unix file to MSDOS
MSDOS filenames are optionally composed of a drive letter followed by a colon, a subdirectory, and a filename. Subdirectory names can use either the '/' or '\' separator. The use of the '\' separator or wildcards will require the names to be enclosed in quotes to protect them from the shell.
The regular expression "pattern matching" routines follow the Unix-style rules. For example, '*' matches all MSDOS files in lieu of '*.*'. The archive, hidden, read-only and system attribute bits are ignored during pattern matching.
Not all Unix filenames are appropriate in the MSDOS world. The Mtools commands may have to alter Unix names to fit the MSDOS filename restrictions. Most commands have a -v (verbose) option that will display the new names if they have been changed. The following table shows some examples of filename conversions:
Unix name | MSDOS name | Reason for the change |
thisisatest | THISISAT | filename too long |
emmet.gray | EMMET.GRA | extension too long |
prn.txt | XRN.TXT | PRN is a device name |
.abc | X.ABC | null filename |
hot+cold | HOTXCOLD | illegal character |
All options use the '-' (minus) flag, not '/' as you'd expect in MSDOS.
The mcd command is used to establish the device and the current working directory (relative to the MSDOS filesystem), otherwise the default is assumed to be A:/.
All the Mtools commands return 0 on success, 1 on utter failure, or 2 on partial failure.