# 4DOS

4DOS is a command-line interpreter by JP Software, designed to replace the default command interpreter COMMAND.COM in Microsoft 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.

## Overview

4DOS is most often used as a command-line replacement for the following operating systems:
* command-line: MS-DOS, IBM PC DOS, DR-DOS.
* graphical: Windows 95 to Windows 98, Windows 98SE.
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.

## Features

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
* A mechanism for creating, maintaining and displaying file descriptions
* Configuration stored in an INI file
* Support for the Windows clipboard

## History and current status

Originally distributed as shareware, 4DOS has been 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. During its 15-year history, 4DOS underwent numerous updates; here are a few of the most significant.
History and current status :
| Version | Released | New features |
| 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. |

## NDOS

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.