Long File Name (LFN) compatible programs for DOS
MS-DOS 7.10 and ROM-DOS 7.10 are two examples of modern DOS systems. Besides FAT32 and large disk (LBA) support, they support two types of file names: the traditional 8.3 short file names (SFN), and the modern long file names (LFN). In the old 8.3 SFN, a file name can only have 8 characters at most, plus a file extension with a maximum of 3 characters. On the other hand, in the modern LFN, a file name may have up to 255 characters including spaces, much longer than the traditional 8.3 file format. In order to keep compatibility with existing programs, each LFN has an associated 8.3 SFN. For example, "Program Files" in LFN becomes "PROGRA~1" in SFN.
Nowadays, most operating systems or platforms (such as Windows 9x/Me/NT3.51/NT4/2K/XP+) are capable of LFN, since LFN is clearly much more flexible and useful than the old 8.3 SFN in most cases. MS-DOS 7.10 is an LFN compatible DOS, yet it will not be able to access LFN directly without the presence of LFN API (API stands for Application Programming Interface). By default, the DOS LFN API support is enabled after the MS-DOS 7.10 Setup. This means you can use either SFN or LFN, or both natively in MS-DOS 7.10 after installation. For example, if you type "DIR" in MS-DOS 7.10, both SFN and LFN of the files will be displayed on the screen (SFN on the left side, and LFN on the right side). Like files, LFN applies to directory names too. If you want to enter a directory containing spaces in the DOS command line, simply add quotation marks around the LFN name, e.g. CD "C:\Program Files" (or use its associated SFN name: CD PROGRA~1). More information and resources about MS-DOS 7.10 can be found from this page.
Besides real DOS systems, there are currently two leading DOS emulators running cross-platform or on the Windows platform, namely DOSBox and vDos. However, original versions of them do not support long file names. Fortunately, I was able to add long file name support and other features to both of these DOS emulators. The versions of them with LFN (and other features) enabled are known as DOSBox SVN-lfn and vDosPlus (initially known as vDos-lfn) respectively, both of them have LFN API included and enabled by default. Like MS-DOS 7.10, they support both the traditional 8.3 names (SFNs) and the long file names (LFNs). Some information about their LFN support can be found in this support page.
More recently (as of 2020-2021), I have been working on the DOSBox-X project, which aims to be a complete DOS emulation package and supports a lot more features including LFNs. In DOSBox-X, the long filename feature can be enabled either with the setting "ver=7.1" which will emulate MS-DOS 7.10, or with the setting "lfn=true" which will enable the LFN feature regardless of the emulated DOS version. You can visit the DOSBox-X home page for latest downloads and other information about DOSBox-X. Examples of DOSBox-X's unique features can be found in the DOSBox-X's Feature Highlights page.Despite the fact that LFNs and SFNs are supported natively by modern DOS systems such as MS-DOS 7.10 as well as both DOSBox-X/SVN-lfn and vDosPlus, however, since most older versions of DOS could only support the traditional 8.3 SFN, the majority of existing DOS programs and utilities are only compatible with SFNs, but not LFNs. Unlike MS-DOS 7.10, older versions of DOS (e.g. MS-DOS 6.x) and DOS programs are unaware of LFN, even if the LFN API is present. Older disk utilities, such as Speed Disk from Norton Utilities 8.0 and DEFRAG from MS-DOS 6.x, will destroy the LFN entries during their operations. Even a simple rename or copy command in MS-DOS 6.x could cause problems with LFN (the associated LFNs will be lost, and the garbage entries will appear in the file system). On the other hand, MS-DOS 7.10 will be able to handle this smoothly, regardless of whether or not LFN API is present. When there is LFN API, MS-DOS 7.10 will be able to use or handle it natively; when no LFN API present, LFN entries in MS-DOS 7.10 will be preserved or removed safely rather than broken (as in MS-DOS 6.x) after a related file or disk operation.
Therefore, as LFNs are used more and more frequently at the present time, we should avoid using those older and outdated versions of DOS and DOS programs which are incompatible or may cause problems with LFNs whenever possible. I have made an incomplete list of useful DOS programs that are compatible with LFNs (see below), also known as LFN-aware applications, which will work with LFNs directly in an LFN-enabled environment such as MS-DOS 7.10 Full Version with LFN support.
List of some useful LFN compatible programs for DOS:
Part I: DJGPP programs
DJGPP is a complete 32-bit C/C++ development system for 386+ PCs running DOS. One of the main features is that it and most of its compiled programs are completely compatible with LFN. Because of its features, functionality and ease of use, an increasing number of modern DOS programs are compiled by DJGPP, namely, the DJGPP programs. For the time being, a large part of DOS LFN-aware programs are in fact DJGPP programs. Note that they are all 32-bit protected mode DOS programs which require a DPMI provider (e.g. CWSDPMI.EXE or HDPMI32.EXE). Examples:
Name & Version | Description | Comment |
FreeCDP 1.1/2.1 | A text-mode multimedia player for DOS | It supports MP3, MID, CD audio, and more |
RockNES 2.01 | A full-screen Nintendo NES game emulator for DOS | LFNs are supported |
ZSNES 1.51 | A full-screen Super Nintendo game emulator for DOS | This one is kind of special. The LFN option will only work properly in a DOS box of Win3.x/Win9x on top of DOS |
UPX 3.96 | The Ultimate Packer for eXecutables | It's open-source and very powerful |
UNRAR 3.10 | A RAR file unpacker | With LFN support |
XPDF 3.0 | An open-source viewer for Portable Document Format (PDF) files | It's able to extract texts and even pictures from PDF documents; open-source |
Lynx 2.8.5 | A nice text-mode Internet browser | It supports HTTP, FTP and more; open-source |
WGET 1.8.2 | A text-mode non-interactive network retriever | Useful and full-featured; open-source |
PARCP 3.90 | Transfer files via parallel cable | Fast, with two user interfaces - command line one and full screen one |
Qube 3p | A nice GUI program for DOS | With many features; open-source |
SEAL 2.00.11 | A nice GUI program for DOS | Comes with a number of applications and games in graphical mode |
SET's Editor 0.5.2 | A friendly text editor | With many unique features. You can even listen to MP3 and edit files at the same time |
TDE 5.1p | A powerful full-screen file editor | Both 16-bit real-mode version and 32-bit protected mode DJGPP version are available; the latter supports LFN; open-source |
FreeBASIC 1.05 | An multi-platform BASIC compiler | Similar to QB in syntax; open-source |
Free Pascal 3.0.0 | An multi-platform PASCAL compiler | The 32-bit protected mode DJGPP version supports LFN; open-source |
FileUtils 4.1 | A set of GNUish file utilities for DOS | They are actually the DOS port of several Unix file commands, such as CP and RM |
BZip2 1.0.2 | BZip2 packer/unpacker | The DOS port of BZip2 |
GNU GCC 3.2.2 | GCC C/C++ compiler | The DOS port of GNU GCC |
GNU GZip 1.3 | GZip packer/unpacker | The DOS port of GNU GZip |
GNU Tar 1.12a | Tar packer/unpacker | The DOS port of GNU Tar |
GNU Bash 2.04 | The default GNU command shell for DOS | The DOS port of GNU Bash |
And most other DJGPP programs; some of them are downloadable from the official DJGPP website |
Part II: Non-DJGPP programs
Of course, there are also a plenty of DOS LFN-aware programs that are not compiled by DJGPP and are compatible with LFNs. These programs can be either real-mode DOS programs or protected mode DOS programs. Examples:
Name & Version | Description | Comment |
Norton Commander 5.5 | A well-known and powerful file manager for DOS | This is the last DOS version of NC, which features LFN support |
Volkov Commander 4.99 | A NC clone, yet with enhancements and improvements in a number of ways | Its size is much smaller than NC but with many enhancements over NC |
DOS Navigator OSP 3.7.0 | A NC clone, but it's more flexible and open-source | Both real-mode and protected-mode DOS versions are available |
DOSZip Commander 2.55 | Another open source NC clone | Both real-mode and protected-mode DOS versions are available |
List Enhanced 2.4r / List Plus 9.6q | A full-screen file viewing and browsing utility | LFN is only displayed in 1-up file selection (press "1" for example) |
PKZIP / PKUNZIP 2.50 | A very popular ZIP compressor/decompressor for DOS | This is the latest DOS version of PKZIP/PKUNZIP, with full LFN support |
InfoZip | A modern ZIP compressor/decompressor | |
ARJ 2.82 | A classical compressor/decompressor | |
RAR 3.30 | A RAR compressor/decompressor | It only works with LFN in Win3.x DOS box with or without LFNXLAT.386 |
GetType 2.60 | A useful utility for identifying file types | |
Universal Unpacker(UU) 2.13 | A universal unpacker as its name suggests | It only works with LFN in Win3.x DOS box since it simply checks if Windows is running |
FArc 1.24 | A tool to view files inside archives | |
Locate 1.30 | A useful tool to locate files | |
NESTICLE 0.41 | A full-screen NES game emulator | NESTICLE 0.42+ will only work with LFN if Win9x is running |
4DOS 7.50/8.00 | A powerful COMMAND.COM alternative | |
MPXPLAY 1.60 | A modern multimedia player | A powerful multimedia player featuring modern sound card support |
OpenCP 2.60 | A multimedia player | |
QuickView Pro 2.61 | A modern multimedia player | A powerful multimedia player featuring modern sound card support |
Digital Sound System 3.01 | A multimedia player | |
Graphics Vision File Manager (GVFM) | A graphical file manager | |
Graphics Vision Editor (GVEDIT) | A graphical file editor | |
CMDEdit 3.21 | A tool featuring command line auto-completion, etc | |
Enhanced DOSKEY 2.8 | An enhanced DOSKEY having features like command line auto-completion | It can be used to replace DOSKEY included with DOS completely |
WREN 1.02 | An extended and Wildcards-compatible REN command | |
XRD 3.03 | An eXtended RD command | |
XSET 5.47 | An eXtended SET command | |
InkUtils 1.53 | A set of useful tools for DOS such as MCD and DD | |
DOSIMG 1.81 | A LFN-enabled disk image mananger | |
Disk Tools 1.83 | A set of disk tools | |
LFNDir 1.02 | A tool showing LFNs when LFN API is present | |
Super DIR 6.19 | A much enhanced DIR command | |
IPXCOPY 2.7 | A tool to transfer files via IPX | |
Coig Change Directory (CCD) | A Norton Change Directory(NCC) clone | |
JWASM 2.12 | A MASM-compatible assembler | Both real-mode and protected-mode DOS versions are available |
NBASM 0.26.59 | An x86 assembler/disassembler | |
Horst Schaeffer's batch tools | A set of batch tools by Horst Schaeffer such as XFIND and VERSET | |
Archive List and Date Stamp 0.94.4 | A tool to view files inside archives and change their date stamps | |
Open Watcom V2 | A modern open-source compiler for C/C++ and Fortran | Both real-mode and protected-mode DOS versions are available |
HX DOS Extender 2.18/2.17+ | A powerful DOS extender with Win32 API support | It can be used to launch Win32 console apps and some Win32 GUI apps; see also the next part |
And some other different LFN compatible DOS programs |
Part III: Win32 applications under DOS (via HX DOS Extender)
Since it is possible to launch most Win32 console applications and some Win32 GUI applications under pure DOS using HX DOS Extender, and HX DOS Extender fully supports long file names whenever available and will provide LFN APIs to all compatible Win32 applications, this adds a wide range of applications that can be run under DOS and are LFN compatible; in most cases you can simply load HXLDR32.EXE from HX DOS Extender once and then run any compatible Win32 applications you want in real DOS as if they are native DOS applications. Examples:
Name | Description | Comment |
7-Zip | A modern file compressor/decompressor | With very high compression ratio |
ARJ32 | A file compressor/decompressor | |
B-Zip2 | A pack utility from MSYS | Common in Unix-like systems |
CABARC | A cabinet file management tool | Powerful CAB manager from Microsoft |
MAKECAB | A cabinet file creation tool | |
DAO | A CD Disc At Once write tool | A set of powerful CD tools from Golden Hawk |
DOSBox-X | A PC and DOS emulator | Official DOS version is available; run with "DOSBOX-X -SET LFN=1" to enable LFN support |
DOSBox SVN-lfn | A PC and DOS emulator | It can be run from DOS itself, with LFN support; load the MinGW version with "DPMILD32 -g dosbox" |
FTP | A FTP client from MSYS | |
GZip | A pack utility from MSYS | Common in Unix-like systems |
Java | The Java compiler and most Java console applications | Very useful |
KZIP | A PKZIP clone | |
MinGW | GNU GCC C++/G77 Fortran compiler, AS assembler | Very useful |
MASM32 | Microsoft 32-bit assembler | |
MPlayer | A video player supporting most multimedia formats | With very versatile multimedia support |
NASM | Netwide Assembler | |
PKZIPC | A 32-bit ZIP packer/unpacker | |
PNGOUT | A PNG file size optimizer | |
PictView32 | An image converter | It supports many image formats |
PSFTP | A SFTP client | |
TASM32 | Borland 32-bit assembler | |
Telnet | A Telnet client from MSYS | |
VIM | A file editor from MSYS | Common in Unix-like systems |
XCOPY32 | Win9x 32-bit console file copy program | Created with "PESTUB XCOPY32.MOD" |
And other Win32 applications compatible with HX DOS Extender |
Part IV: Disk utilities
Unlike the old disk utilities, such as the ones from MS-DOS 6.x, most newer versions of disk utilities will work fine with LFN. Although a lot of them only display SFN instead of LFN while running in pure DOS, they are still LFN compatible, which means they are LFN aware and will not destroy LFN. Besides the ones (e.g. SCANDISK) from MS-DOS 7.10, there are quite a large number of disk utilities with LFN support for DOS. Examples:
Name | Description | Comment |
Norton Utilities 2002 | A set of very powerful, useful and famous full-screen disk utilities for DOS | Including NDD 2002, DISKEDIT 2002, UNERASE 2002, UNFORMAT 2002, and more |
Norton Ghost 2003 | A rather popular disk recover full-screen utility for DOS | With LFN support |
McAfee Utilities 3.11 | A set of useful full-screen disk utilities for DOS | Including Disk Minder, Disk Editor, UnDelete, UnFormat, and more |
PowerQuest DriveImage 6.0 | A full-screen disk utility that is similar to yet better than Norton Ghost | With LFN support |
PowerQuest Magic 8.0 | A well-known and powerful full-screen disk utilities for DOS | Fast, nice interface |
And most other newer disk utilities |
The list is not yet complete. But it should be now clear there are quite a number of LFN compatible programs for DOS.
Any questions, problems, or suggestions, please feel free to mail me!
Last updated: January 2021, Wengier