4DOS
Developer(s) | JP Software |
---|---|
Stable release | 8.00 (Open Source in 2009)
/ 7.50.130 (JPSoft in 2004) |
Operating system | DOS, Windows |
Type | Command shell |
License | modified MIT License that does not qualify as open source by Open Source Initiative or Free Software Foundation standards |
Website | 4dos.info |
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
:[1]
- 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[2][3][4][5][6][nb 1]
- 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"[7] 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.[8][9]
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.
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,[2] 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.[10] |
8.00 | 2009-02-27 | Latest version.[1] |
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.
See also
- AUTOEXEC.BAT
- Comparison of command shells
- DESCRIPT.ION
- ZCPR – a CCP replacement for CP/M
Notes
- ^ Known IDs include
0x10
for general metadata in XMP format,[5]0x23
('#') as 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.,[3]0x25
('%') being used by programs using CUI_LIB to store pseudo-environment variables,[3][4]0xED
being reserved for Digital Research/Novell/Caldera,0xC2
used by Total Commander for multiline file descriptions,[6] and0xFD
reserved for FreeDOS.)
References
- ^ a b Brothers, Hardin; Rawson, Tom; Conn, Rex C.; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (2002-02-27). 4DOS 8.00 online help.
- ^ a b "Technical Note – Using DESCRIPT.ION". Chestertown, Maryland, US: JP Software Inc. 1989. Archived from the original on 2016-03-18.
- ^ a b c Paul, Matthias R. (2001-06-10) [1995]. "Format description of DOS, OS/2, and Windows NT .CPI, and Linux .CP files" (1.30 ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20. (NB. As a usage example this archive contains a DESCRIPT.ION file defining some key=value pairs as '#'-style extended attributes. It also contains a CPI file analyzer & decompiler named CPI.EXE, which happens to be a CUI_LIB-enabled DOS executable optionally supporting many pseudo-environment variables defined in '%'-style DESCRIPT.ION file entries.)
- ^ a b Paul, Matthias R. (2001) [1996]. "Specification and reference documentation for NECPINW". NECPINW.CPI – DOS code page switching driver for NEC Pinwriters (2.08 ed.). FILESPEC.TXT from NECPI208.ZIP. Archived from the original on 2017-09-10. Retrieved 2013-04-22. (NB. As a usage example this archive contains a DESCRIPT.ION file defining some key=value pairs as '#'-style extended attributes.)
- ^ a b Codère, Carl Eric (2006-12-23) [2004-09-14]. "4DOS/4NT Description file extensions proposal" (PDF). Optima SC Inc. SPC-S200401-00. Archived (PDF) from the original on 2023-11-28. Retrieved 2023-11-28.
- ^ a b DVK (2018-03-13) [2009-11-27]. ""descript.ion" file spec?". stackoverflow.com. Archived from the original on 2023-11-28. Retrieved 2023-11-28.
- ^ "4DOS 7.50.1" (README.TXT). 2006-11-13. Archived from the original on 2016-03-03.
- ^ Hall, James F. "4DOS announcement".[dead link ]
- ^ Hall, James F. (2006-11-14). "4DOS released as open source software". freedos-devel. Archived from the original on 2008-04-04.
- ^ "Welcome to the Revived 4DOS!". Archived from the original on 2009-12-26.
External links
- JP Software, creator of 4DOS but no longer supports it. Currently sells similar Take Command for Windows.
- Unofficial 4DOS support site with many batch examples, related documents and programs