FreeCom Command Line Interface
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
About
~~~~~
This software is part of the FreeDOS project. Please email
fd-dev@topica.com for more information, or visit the freedos
archive at "http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files".  Also,
visit our web page at http://www.freedos.org/.

The command.com web site is at

   http://freedos.sourceforge.net/freecom

Please send any bug reports, comments or other info to:

   fd-command@topica.com  (command.com development mailing list)

This software has been developed by many people, which are enlisted
within HISTORY.TXT now.

Please note that this software is separate from the DOS-C kernel and
may or may not work properly under it.  Of course I am making every
effort to make it compatible.

Installation
~~~~~~~~~~~~
To use this shell, just run the COMMAND.COM file.
You can also add this to your CONFIG.SYS file:

SHELL=<shell path><shell filename>

e.g.

SHELL=C:\FREEDOS\COMMAND.COM /P

Current Features
~~~~~~~~~~~~~~~~
- environment handling with prompt and path support
- directory utilities
- command-line history with doskey-like features + filename completion (TAB)
- batch file processing
- input/output redirection and piping
- loadhigh support
- alias support
- flow control (IF, FOR, GOTO, labels)
- non-complete multi language support

Command Line Syntax, Useage, Switches and Options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMMAND.COM [ path [ console ] ] [{ option }] [ '/' ( K | C ) commandline ]

If present, the first non-option argument specifies the location in which
FreeCOM resides. This location is later stored in the environment variable
COMSPEC. Since DOS3+ this option is no longer necessary to find the shell
invoked during the boot process, but it may be used to let the system boot a
primary shell from one location, but use a shell of the same version from a
different location later on. 
One shallt not point to a RAMdisk at this time, because FreeCOM needs to reload
certain information relatively early during execution, before AUTOEXEC.BAT had
been executed, in which, normally, FreeCOM is copied into the RAMdisk.
For convinience FreeCOM checks, if at the given location a FreeCOM exists and
is accessable, if not, the given location is ignored. Also, the standard
requires to specify a path only, but FreeCOM accepts an absolute filename, so
accepting that FreeCOM is not necessarily named COMMAND.COM. 

The second non-option argument, if present, specifies the console FreeCOM shall
enable. This setting is system-wide and is not limited to FreeCOM or just this
particular process tree. In its result, this argument is identical to the CTTY
command. 

FreeCOM knows the following options: 
/?: Issues a help screen, then exists. 
/!: Enable/disable debugging support, if compiled to FreeCOM. 
/Y: Enables trace/single step mode. This mode is deaktivated when the user
    prompt has been reached. 
/D: Disables to parse AUTOEXEC.BAT, even if the /P option is present. This
    switch is usually set by the kernel, when F% had been pressed during
    bootup. 
/F: Enables autofail of Critical Errors; then instead of displaying the
    Abort/Retry/Ignore/Fail dialog, Critical Errors are automatically answered
    with Fail. 
/P: Installs a primary copy of FreeCOM. Such instance: 
    cannot be terminated with the EXIT <cmd.html> command. 
    executes the AUTOEXEC.BAT script before any other command. 
    The /P option may have an argument to specify an alternate name for the
    AUTOEXEC script, e.g.: /P:FDAUTO.BAT. 
/E: Sets another size of the environment segment, in which all the environment
    variables are stored, e.g.: /E:1024. 
/L: Sets the size of the internal command buffer. Note: This option is ignored
    currently, the internal buffer always defaults to 512 bytes. 
/U Sets the size of the internal user input buffer. Note: This option is
    ignored currently. The input buffer always defaults to 255 bytes, which is
    the maximum. 
/LOW: Forces to load FreeCOM low. Note: Currently this option has no effect,
    because no part of FreeCOM is loaded high. 
/MSG: Installs the message server. Note: Because the message server is not used
    nowadays, this option forces to permanently load FreeCOM's messages into
    memory. 
/SWAP: Toggles, if to default to swapping or not; due to different default
    values of this internal flag, it is recommended to always prefix the option
    with '+' to enable or '-' to disable swapping. 

The options /K and /C are special cases and do not behave as normal options
does. They are exclusive and all characters at the right side of such option
(except an optional argument sign) specify a command to execute, e.g.: /C DIR
/s, /C=DIR /s, and /CDIR /s do behave exactly the same and execuate the command
DIR /s. 
If these options are used in conjunction with the /P option, the AUTOEXEC.BAT
script is executed prior executing the specified command. 
In opposite to /C the /K option enters the interactive shell prompt after
executing the specified command. 
Boolean options, which can only be enabled or disabled, may be prefixed by '+'
to enable or '-' to disable it. 
