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). You can visit the vDosPlus home page for latest downloads and other information about vDosPlus. Some information and downloads of DOSBox SVN-lfn can be found at this support 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 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.36 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.91 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.60 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.5 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.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 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: September 2016, Wengier