What is 4DOS ?
--------------

4DOS is a command interpreter for DOS, DOS+Windows 95, and Virtual DOS
Machines under OS/2 Warp, that can be used as a replacement for COMMAND,
the bundled default command interpreter.  It provides all of the
functionality of COMMAND, and a lot more besides, such as :

 * An editable command line with built-in history and recall, without
   needing DOSKEY, CED, or whatever.  Pressing [PgUp] displays a
   scrollable window containing the entire command line history of the
   session.

 * Full context-sensitive on-line help at the command line for all built-in
   commands, at the press of the [F1] key,

 * Extended change directory support, with the CDD (change drive and
   directory), PUSHD (pushd directory onto internal stack), POPD (pop
   directory off internal stack) commands.

 * A change directory history window, invoked via [Ctrl-PgUp].

 * Extended batch language, with features such as multiline DO...ENDDO and
   IFF...THEN...ELSE...ENDIFF, and ON BREAK and ON ERROR for exception
   handling.

 * Filename and directory name expansion at the command line, using the
   [TAB] key.

 * Built-in variables with pre-set values, such as %_DOSVER, which expands
   to the current version of DOS, and %_DISK, which expands to the current
   drive letter.

 * Variable functions, such as %@FULL[], which returns the fully qualified
   name of its argument, and %@EVAL[], which evaluates its argument as an
   arithmetic expression.

 * Many built-in commands for display handling, such as SCRPUT to display
   any text in any colour anywhere on the screen, and DRAWBOX to draw
   boxes.

 * Built-in equivalents of many popular "itty bitty utilities", such as
   the LIST, FFIND, HELP, KEYBD, BEEP, DELAY, and MEMORY commands.

 * Extensions to many of the commands that are built-in to COMMAND
   consistent across several commands, such as for the COPY, MOVE, DEL,
   and REN commands the /S switch that allows them to operate recursively
   on subdirectories and the /P switch which prompts before operating on
   each file.

 * Extended wildcard support for most commands, such as f.* to find all
   files whose names contain the letter 'f' (COMMAND treats f. as .*).

 * Selection by date/size range support for several commands, allowing
   you, for example, to restrict DIR to only display files modified within
   the last two days.

 * Swapping of the main command interpreter to XMS, EMS, or disc, freeing
   up conventional memory for application use.

 * The ability to load all but 256 bytes of 4DOS into upper memory blocks.

 * Coloured directory listings.

 * Aliases, whereby a command or series of commands can be aliased to
   another name.

 * Keystroke aliases, allowing for the remapping of keypresses to
   commands.

There are also other products in a similar vein:

4OS2 is a native command interpreter for 32-bit OS/2 Warp, which can
replace CMD, the bundled command interpreter.

Take Command for OS/2 is a graphical command interpreter for Presentation
Manager on OS/2 Warp.

Take Command for Win16 and Take Command for Win32 which are graphical
command interpreters for DOS-Windows 3.1 and for DOS-Windows 95 and
Windows NT.

These have several features that aren't practical or practicable on plain
DOS.

For example, 4OS2 for OS/2 Warp has :

 * Command history and aliases that are shareable across multiple
   sessions (4DOS can only share within one session).

 * Hooks into the REXX interpreter (REXX is a very powerful interpreted
   script language supplied free with OS/2 Warp), both to run REXX scripts
   from the command line and allowing 4OS2 to be extended via REXX using
   the %@REXX[] variable function.

 * Automatically sized and expanded environment space.

 * The ability to display the on-line help and use the command line at the
   same time.

 * Long filename support in all commands, and at the command line.

 * A built-in START command to start new sessions of any type (Virtual DOS
   Machine, VDM running Windows, or OS/2 Warp).

 * True pipes, with the commands at each end of the pipe running
   simultaneously.

 * Longer command-line lengths (up to 1024 characters).

 * All of the advantages of a native OS/2 Warp process, so it has no
   draconian limits on the amount of memory that it can use, places no
   limits on the size of the applications that can be invoked, uses OS/2
   Warp for virtual memory rather than its own private swapfiles, and has
   no worries about swapping, UMBs, EMS, XMS, conventional memory, or any
   of that.

  JdeBP 

