4DOS

Last updated

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.

Contents

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:

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:

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]

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.

VersionReleasedNew features
2.001989-02-15Original 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.201989-07-05Executable extensions.
3.001990-03-07 BTM batch files (cached to memory for speed), extended memory (XMS) swapping, variable functions, bracket variable-name syntax.
4.001991-11-01Colored directory listings, 4DOS.INI configuration file, include lists, command groups, implied CDD, DOS 5 Upper Memory Blocks (UMB) support.
5.001993-11-23Date, time, and size ranges; compressed batch files.
5.511995-08-22 Long filename support, REXX in .BAT files (as in PC DOS 7.0).
6.001997-07-24Extended directory searches, interactive configuration (OPTION command), exclusion ranges, interactive batch file debugger.
7.002001-06-18@file lists (as in DR-DOS).
7.502003-02-24User-defined functions.
7.50.12006-11-13Open source version of 7.50. Luchezar Georgiev and Jaelani Utomo have continued developing 4DOS. [10]
8.002009-02-27Latest 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

Notes

  1. Known IDs include 0x10 for general metadata in XMP format, [nb 2] 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., [nb 3] 0x25 ('%') being used by programs using CUI_LIB to store pseudo-environment variables, [nb 3] [nb 4] 0xED being reserved for Digital Research/Novell/Caldera, 0xC2 used by Total Commander for multiline file descriptions, [nb 5] and 0xFD reserved for FreeDOS.)

Related Research Articles

<span class="mw-page-title-main">Shell script</span> Script written for the shell, or command line interpreter, of an operating system

A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manipulation, program execution, and printing text. A script which sets up the environment, runs the program, and does any necessary cleanup or logging, is called a wrapper.

<span class="mw-page-title-main">COMMAND.COM</span> Default command line for MS-DOS and Windows 9x

COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95, Windows 98 and Windows Me. In the case of DOS, it is the default user interface as well. It has an additional role as the usual first program run after boot, hence being responsible for setting up the system by running the AUTOEXEC.BAT configuration file, and being the ancestor of all processes.

In computing, the working directory of a process is a directory of a hierarchical file system, if any, dynamically associated with each process. It is sometimes called the current working directory (CWD), e.g. the BSD getcwd function, or just current directory. When a process refers to a file using a simple file name or relative path (as opposed to a file designated by a full path from a root directory), the reference is interpreted relative to the working directory of the process. So for example a process with working directory /rabbit-shoes that asks to create the file foo.txt will end up creating the file /rabbit-shoes/foo.txt.

<span class="mw-page-title-main">Windows Script Host</span> Automation technology for Windows

The Microsoft Windows Script Host (WSH) is an automation technology for Microsoft Windows operating systems that provides scripting abilities comparable to batch files, but with a wider range of supported features. This tool was first provided on Windows 95 after Build 950a on the installation discs as an optional installation configurable and installable by means of the Control Panel, and then a standard component of Windows 98 and subsequent and Windows NT 4.0 Build 1381 and by means of Service Pack 4. The WSH is also a means of automation for Internet Explorer via the installed WSH engines from IE Version 3.0 onwards; at this time VBScript became means of automation for Microsoft Outlook 97. The WSH is also an optional install provided with a VBScript and JScript engine for Windows CE 3.0 and following and some third-party engines including Rexx and other forms of Basic are also available.

An environment variable is a user-definable value that can affect the way running processes will behave on a computer. Environment variables are part of the environment in which a process runs. For example, a running process can query the value of the TEMP environment variable to discover a suitable location to store temporary files, or the HOME or USERPROFILE variable to find the directory structure owned by the user running the process.

<span class="mw-page-title-main">COM file</span> Type of simple executable file

A COM file is a type of simple executable file. On the Digital Equipment Corporation (DEC) VAX operating systems of the 1970s, .COM was used as a filename extension for text files containing commands to be issued to the operating system. With the introduction of Digital Research's CP/M, the type of files commonly associated with COM extension changed to that of executable files. This convention was later carried over to DOS. Even when complemented by the more general EXE file format for executables, the compact COM files remained viable and frequently used under DOS.

<span class="mw-page-title-main">DOSKEY</span>

DOSKEY is a command for DOS, IBM OS/2, Microsoft Windows, and ReactOS that adds command history, macro functionality, and improved editing features to the command-line interpreters COMMAND.COM and cmd.exe.

AUTOEXEC.BAT is a system file that was originally on DOS-type operating systems. It is a plain-text batch file in the root directory of the boot device. The name of the file is an abbreviation of "automatic execution", which describes its function in automatically executing commands on system startup; the filename was coined in response to the 8.3 filename limitations of the FAT file system family.

cmd.exe Command prompt program

Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, eComStation, ArcaOS, Microsoft Windows, and ReactOS operating systems. On Windows CE .NET 4.2, Windows CE 5.0 and Windows Embedded CE 6.0 it is referred to as the Command Processor Shell. Its implementations differ between operating systems, but the behavior and basic set of commands are consistent. cmd.exe is the counterpart of COMMAND.COM in DOS and Windows 9x systems, and analogous to the Unix shells used on Unix-like systems. The initial version of cmd.exe for Windows NT was developed by Therese Stowell. Windows CE 2.11 was the first embedded Windows release to support a console and a Windows CE version of cmd.exe. The ReactOS implementation of cmd.exe is derived from FreeCOM, the FreeDOS command line interpreter.

Long filename (LFN) support is Microsoft's backward-compatible extension of the 8.3 filename naming scheme used in DOS. Long filenames can be more descriptive, including longer filename extensions such as .jpeg, .tiff, .html, and .xhtml that are common on other operating systems, rather than specialized shortened names such as .jpg, .tif, .htm, or .xht. The standard has been common with File Allocation Table (FAT) filesystems since its first implementation in Windows NT 3.5 of 1994.

Take Command Console (TCC), formerly known as 4DOS for Windows NT (4NT), is a command-line interpreter by JP Software, designed as a substitute for the default command interpreter in Microsoft Windows, CMD.EXE.

A batch file is a script file in DOS, OS/2 and Microsoft Windows. It consists of a series of commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain any command the interpreter accepts interactively and use constructs that enable conditional branching and looping within the batch file, such as IF, FOR, and GOTO labels. The term "batch" is from batch processing, meaning "non-interactive execution", though a batch file might not process a batch of multiple data.

ver (command) Command in many command-line interpreters

In computing, ver is a command in various command-line interpreters (shells) such as COMMAND.COM, cmd.exe and 4DOS/4NT. It prints the name and version of the operating system, the command shell, or in some implementations the version of other commands. It is roughly equivalent to the Unix command uname.

help (command) Command in various command line shells

In computing, help is a command in various command line shells such as COMMAND.COM, cmd.exe, Bash, qshell, 4DOS/4NT, Windows PowerShell, Singularity shell, Python, MATLAB and GNU Octave. It provides online information about available commands and the shell environment.

<span class="mw-page-title-main">TIME (command)</span>

In computing, TIME is a command in DEC RT-11, DOS, IBM OS/2, Microsoft Windows and a number of other operating systems that is used to display and set the current system time. It is included in command-line interpreters (shells) such as COMMAND.COM, cmd.exe, 4DOS, 4OS2 and 4NT.

4OS2 is the OS/2 analogue of 4NT and 4DOS by JP Software, Inc. JP Software discontinued 4OS2, TCMDOS2 and TCMD16, making version 3.0, 2.0, 2.0 the final version of these. The code for 4OS2 has been released, and is maintained, first by SciTech, and then by NetLabs.

<span class="mw-page-title-main">Command-line interface</span> Computer interface that uses text

A command-line interface (CLI) is a means of interacting with a computer program by inputting lines of text called command-lines. Command-line interfaces emerged in the mid-1960s, on computer terminals, as a user-friendly alternative to punched cards.

CMD file may refer to:

forfiles is a computer software utility for Microsoft Windows, which selects files and runs a command on them. File selection criteria include name and last modified date. The command specifier supports some special syntax options. It can be used directly on the command line, or in batch files or other scripts.

References

  1. 1 2 Brothers, Hardin; Rawson, Tom; Conn, Rex C.; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (2002-02-27). 4DOS 8.00 online help.
  2. 1 2 "Technical Note -- Using DESCRIPT.ION". Chestertown, Maryland, US: JP Software Inc. 1989. Archived from the original on 2016-03-18.
  3. 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.)
  4. 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.)
  5. 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.
  6. 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.
  7. "4DOS 7.50.1" (README.TXT). 2006-11-13. Archived from the original on 2016-03-03.
  8. Hall, James F. "4DOS announcement".[ dead link ]
  9. Hall, James F. (2006-11-14). "4DOS released as open source software". freedos-devel. Archived from the original on 2008-04-04.
  10. "Welcome to the Revived 4DOS!". Archived from the original on 2009-12-26.