Reference articles on history, science, culture and more
Encyclopedia

4DOS

Command line interpreter

Image credit is listed at the end of this article.

4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in MS-DOS and Windows. It was written by Rex C. Conn and Tom Rawson and first released in 1989. Compared to the default, it has a large number of enhancements.

4OS2 and 4NT are similar products that replace cmd.exe in OS/2 and Windows NT respectively.

01Overview

4DOS is most often used as a command-line replacement for the following operating systems:

Since Windows NT and Windows 2000 includes both COMMAND.COM and cmd.exe, 4DOS and 4NT and derivatives can both be installed. Earlier versions of 4OS2 can be run under Windows NT, and OS/2 can run the two DOS and Windows NT shells, all three can be used on Windows NT-type machines and OS/2 multiple boot machines.

Among the many commands, statements and functions in 4DOS and lacking in DOS/Windows 95-98 COMMAND.COM are reading keyboard input and a simpler method of working with colors of screen and text.

The default file extension for 4DOS scripts is .btm.

A graphical version of 4DOS, 4OS2, and 4NT, called Take Command, was released with a feature set corresponding to version 4DOS 5.5, 4OS2, and 4NT 2.5 and updated after this. Development on this line stopped with the corresponding text mode versions. There was a graphical program Take Command/16, for Windows 3.1.

4OS2 is a similar replacement for IBM's OS/2 command interpreter. This was first released at the same time as 4DOS version 4, and has a similar feature set. Like 4DOS, this is released as open source. It appeared in the feature set of 2011's eComStation 2.10, in the freeware os2free project, and is included with ArcaOS.

4NT was first released as 4DOS for Windows NT (versions 1.x, 2.x), but became 4NT until the restructure after version 8. The program is a recompilation of 4OS2, and continues to have features of OS/2's command processor (cmd.exe), such as running REXX scripts, and EXTPROC support. A corresponding Take Command/32 exists for this, version 1 corresponding to 4NT 2.5. 4NT and Take Command/32 were released in both ANSI (Windows 9x) and Unicode (Windows NT) forms, with the ANSI version dropped at version 5.

A new Win32 program Tabbed Command Interface (TCI), was released at the time of 4NT version 7. This program allowed one to attach (thereby reducing screen clutter) and detach tabbed consoles to a single window. This program requires Windows XP or later.

A new version of Take Command extends the original Tabbed Command Interface, expanded with extra windows to allow input to be composed, to graphically navigate directories and files, and extra features. 4NT is bundled as Take Command Console. A light feature-reduced version of TCC is released as a free download.

JP Software then released:

  • TC (full pack of TCI + TCC)
  • TCLE (TCI + TCC/LE)
  • TCC (just the command utility)
  • TCC/LE

This has been released from versions 9 to 12.1, corresponding to the underlying 4NT/TCC version.

02Features

4DOS features a number of enhancements compared to COMMAND.COM:

  • Additional commands
  • Extended functionality of existing commands
  • Extended batch file processing facilities
  • Improved command line editing, including filename completion and command history
  • Support for command aliases, also in scripts
  • Enhanced wildcards and the ability to filter by file sizes, date and time stamps, and other file characteristics
  • Extended syntax for redirection and piping
  • Context-specific help
  • Colored directory listings
  • Internal variables and variable functions
  • A memory swapping mechanism that yielded more free conventional memory
  • An interactive debugger for batch files
  • Support for creating, maintaining and displaying file metadata
  • Configuration stored in an INI file
  • Support for the Windows clipboard

File metadata

The file named DESCRIPT.ION contained plain text that encoded metadata about files and directories. Support for this metadata was introduced in 1989. Known IDs include:

0x10
General metadata in XMP format.
0x23 ('#')
Used by various utilities written by Matthias R. Paul for space-separated lists of text key=value pairs holding file properties as extended attributes like CP (codepages), PC (language codes), CW (bit-width), XS (page width), YS (page length), XO (print x-offset), YO (print y-offset), CR (copyright), URL (source link), etc.
0x25 ('%')
Used by programs using CUI_LIB to store pseudo-environment variables.
0xED
Reserved for Digital Research/Novell/Caldera.
0xC2
Used by Total Commander for multiline file descriptions.
0xFD
Reserved for FreeDOS.

03Versions

Originally distributed as shareware, 4DOS was later released as unsupported freeware. Currently, the source code is available under a modified MIT License but it "may not be used in any commercial product without written permission from Rex C. Conn" and "may not be compiled for use on any operating system other than FreeDOS", so does not qualify as open source as defined by Open Source Initiative.

The last update by JP Software was version 7.50.130, released in August 2004.

History and current status
Version Released Description
2.00 1989-02-15 Original release. Improved command-line editing, filename completion, command history, aliases, improved wildcards, online help, internal variables, swapping to disk or EMS, file descriptions, command separator, key stacker.
2.20 1989-07-05 Executable extensions.
3.00 1990-03-07 BTM batch files (cached to memory for speed), extended memory (XMS) swapping, variable functions, bracket variable-name syntax.
4.00 1991-11-01 Colored directory listings, 4DOS.INI configuration file, include lists, command groups, implied CDD, DOS 5 Upper Memory Blocks (UMB) support.
5.00 1993-11-23 Date, time, and size ranges; compressed batch files.
5.51 1995-08-22 Long filename support, REXX in .BAT files (as in PC DOS 7.0).
6.00 1997-07-24 Extended directory searches, interactive configuration (OPTION command), exclusion ranges, interactive batch file debugger.
7.00 2001-06-18 @file lists (as in DR-DOS).
7.50 2003-02-24 User-defined functions.
7.50.1 2006-11-13 Source available version of 7.50. Luchezar Georgiev and Jaelani Utomo have continued developing 4DOS.
8.00 2009-02-27 Latest version.

04NDOS

Some versions of the Norton Utilities for DOS included modified copies of 4DOS called NDOS. The last version of NDOS was bundled with Norton Utilities 8, and corresponded to 4DOS 4.03.

Watch videos about 4DOSExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article 4DOS, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.