------------------------ MS-DOS v6.22 Help: COMMAND ------------------------
<Notes> <Examples>                                               <Index>


Starts a new instance of the MS-DOS command interpreter.

A command interpreter is a program that lets you type commands. Use the EXIT
command to stop the new command interpreter and return control to the old

    COMMAND [[drive:]path] [device] [/E:nnnnn] [/Y [/C command|/K command]]

In your CONFIG.SYS file, use the following syntax:

    SHELL=[[dos-drive:]dos-path]COMMAND.COM [[drive:]path][device]
    [/E:nnnn] [/P [/MSG]]


    Specifies the directory in which the command interpreter is to look for
    the COMMAND.COM file when the transient part of the program needs to be
    reloaded. This parameter must be included when loading COMMAND.COM for
    the first time if the COMMAND.COM file is not located in the root
    directory. This parameter is used to set the COMSPEC environment
    variable. For more information, see Transient and Resident Memory in

    Specifies a different device for command input and output. For more
    information about this parameter, see the <CTTY> command.

    Specifies the location of the COMMAND.COM file.


/C command
    Specifies that the command interpreter is to perform the specified
    command and then exit. This switch must be the last switch on the
    command line.

    Specifies the environment size, where nnnnn is the size in bytes. The
    value of nnnnn must be in the range 160 through 32768. MS-DOS rounds
    this number up to a multiple of 16 bytes. The default value is 256.

/K command
    Runs the specified command, program, or batch program and then displays
    the MS-DOS command prompt. This switch must be the last switch on the
    COMMAND command line.

    This switch is particularly useful for specifying a startup batch file
    for the MS-DOS Prompt in Windows (much like AUTOEXEC.BAT for MS-DOS). To
    do this, open the DOSPRMPT.PIF file using the PIF Editor, and type the
    /K switch in the Optional Parameters box. It is not recommended to use
    the /K switch on the SHELL command line in your CONFIG.SYS file; doing
    so can cause problems with applications and installation programs that
    make changes to your AUTOEXEC.BAT file.

    Should be used only when COMMAND is used with the SHELL command in the
    CONFIG.SYS file. The /P switch makes the new copy of the command
    interpreter permanent. In this case, the EXIT command cannot be used to
    stop the command interpreter. If you specify /P, MS-DOS runs your
    AUTOEXEC.BAT file before displaying the command prompt. If there is no
    AUTOEXEC.BAT file in the root directory of the startup drive, MS-DOS
    carries out the DATE and TIME commands instead. If you do not have a
    SHELL command in your CONFIG.SYS file, COMMAND.COM is automatically
    loaded from the root directory with the /P switch.

    Specifies that all error messages should be stored in memory. Usually,
    some messages are stored only on disk. This switch is useful only if you
    are running MS-DOS from floppy disks. You must specify the /P switch
    when you use the /MSG switch. For more information about using the /MSG
    switch, see <COMMAND--Notes>.
    Directs COMMAND.COM to step through the batch file specified by the /C
    or /K switches. This switch is useful for debugging batch files. For
    example, to step through the TEST.BAT batch file line by line, you would
    type COMMAND /Y /C TEST. The /Y switch requires either the /C or the /K

Related Command

The <SHELL> command is the preferred method of using COMMAND to permanently
increase space for the environment table.


<Syntax> <Examples>


Limits on environment size

If nnnnn is less than 160 or greater than 32768, MS-DOS uses the default
value of 256 bytes and displays the following message:

    Parameter value not in allowed range.

Changing your terminal device

You can specify a different device (such as AUX) for input and output by
using the device parameter. For more information about device, see the
<CTTY> command.

Running multiple command interpreters

When you start a new command interpreter, MS-DOS creates a new command
environment. This new environment is a copy of the parent environment. You
can change the new environment without affecting the old one. The default
size of the new environment is 256 bytes or the size of the current
environment rounded up to the next 16 bytes, whichever is larger. Use the /E
switch to override the default size. (Note that the current environment
refers to the memory actually being used, not to the environment size
specified with the previous /E switch.)

Transient and resident memory

MS-DOS loads the command interpreter in two parts: the resident part (which
is always in memory) and the transient part (at the top of conventional
memory). Some programs write over the transient part of COMMAND.COM when
they run. When this happens, the resident part must locate the COMMAND.COM
file on disk to reload the transient part. The COMSPEC environment variable
identifies where COMMAND.COM is located on the disk. If COMSPEC is set to a
floppy disk drive, MS-DOS might prompt you to insert a disk that contains

If MS-DOS is loaded in the HMA, a portion of resident COMMAND.COM is also
loaded into the HMA, making more conventional memory available for

Using the /MSG switch

Usually, MS-DOS leaves many error messages in the COMMAND.COM file on the
disk instead of using memory to store them. When MS-DOS needs to display one
of these messages, MS-DOS retrieves the message from the disk containing

If you are running MS-DOS from floppy disks instead of from a hard disk,
MS-DOS cannot retrieve such error messages unless you have the disk
containing COMMAND.COM in drive A. If this disk is not present, MS-DOS
displays one of the following short messages instead of the full message:

    Parse error

    Extended error

You can make sure MS-DOS displays complete error messages by using the /MSG
switch with COMMAND. This switch forces MS-DOS to keep these error messages
in memory so that they are always available when needed.

Use the /MSG switch with COMMAND if you have a floppy disk system, unless
you cannot afford to lose the memory used to store the error messages.

You must also specify the /P switch when you use the /MSG switch.

Internal commands

COMMAND is called a command processor because it reads any commands that you
type and processes them.

Some commands are recognized and carried out by COMMAND itself. These
commands are considered internal to COMMAND. Other MS-DOS commands are
separate programs located on your hard disk, which MS-DOS loads just like
your other programs.

The following MS-DOS commands are implemented by COMMAND:

<BREAK>          <ECHO>            <REM>
<CALL>           <EXIT>            <RENAME (REN)>
<CHCP>           <FOR>             <RMDIR (RD)>
<CHDIR (CD)>     <GOTO>            <SET>
<CLS>            <IF>              <SHIFT>
<COPY>           <LOADHIGH (LH)>   <TIME>
<CTTY>           <MKDIR (MD)>      <TYPE>
<DATE>           <PATH>            <VER>
<DEL (ERASE)>    <PAUSE>           <VERIFY>
<DIR>            <PROMPT>          <VOL>


<Syntax> <Notes>


The following command specifies that the MS-DOS command interpreter is to
start a new command interpreter from the current program, run a batch
program named MYBAT.BAT, and then return to the first command interpreter:

    command /c mybat.bat

The following CONFIG.SYS command specifies that COMMAND.COM is located in
the DOS directory on drive C:

    shell=c:\dos\command.com c:\dos\ /e:1024

This command directs MS-DOS to set the COMSPEC environment variable to
C:\DOS\COMMAND.COM. This command also creates an environment of 1024 bytes
for this command interpreter.

The following command starts an instance of COMMAND.COM and runs the
MYBATCH.BAT file, stepping through the file command by command:

    command /y /c mybatch.bat


<Top of page>
Last update: December 07, 2002 14:45 by
Content © 1997 Microsoft Corporation
All else © 2000-2005