.context h.pg1
.context helpHowToUseId
:nHow To Use MS-DOS Help

                            \bHow To Use MS-DOS Help\p
 
 Choose a topic below.

 \i<\p\aNavigating Through MS-DOS Help\vhelpOnHelpId\v\i>\p
 \i<\p\aGetting Context-Sensitive Help\vgah\v\i>\p
 \i<\p\aUsing Menus and Commands\v@sg.men\v\i>\p
 \i<\p\aUsing a Dialog Box\v@sg.dia\v\i>\p
 \i<\p\aStarting MS-DOS Help from the Command Line\v@sg.opt\v\i>\p
 \i<\p\aUsing MS-DOS Help with the Keyboard\vhelpKeyboardId\v\i>\p

 To choose a topic, click it. Or, press TAB until you select the topic, and 
 then press ENTER.

 To exit MS-DOS Help, choose Exit from the File menu. Or, press ALT and 
 then F. Then press X.

.context helpOnHelpId
:nNavigating Through MS-DOS Help

                        \bNavigating Through MS-DOS Help\p
 
 To scroll the information in the MS-DOS Help window, click the arrows in 
 the scroll bar, or press PAGE DOWN or PAGE UP.

 \bChoosing Jumps\p

 You move from topic to topic in MS-DOS Help by choosing jumps. Jumps are 
 links between topics and are enclosed by angle brackets (\i< >\p).

 \bTo move the cursor forward to a jump\p

 ž Press TAB until you select the jump you want. Or, press the first letter 
   in the jump.

 \bTo move the cursor backwards to a jump\p

 ž Press SHIFT+TAB until you select the jump you want. Or, press SHIFT and 
   the first letter in the jump.

 \bTo display a topic\p

 ž Click the jump. Or, move the cursor to the jump, and then press ENTER.

 \bTo display the MS-DOS Help Contents\p

 ž  Click the Contents button at the bottom of the screen, or press ALT+C.

 \bTo display the next topic in MS-DOS Help\p

 ž  Click the Next button at the bottom of the screen, or press ALT+N.

 \bTo display topics you have previously chosen\p

 ž Click the Back button at the bottom of the screen, or press ALT+B.
   
.context gah
:nGetting Context-Sensitive Help

                        \bGetting Context-Sensitive Help\p 
 
 The following are procedures for getting context-sensitive help.

 \bTo get help on an MS-DOS Help menu\p
  
 ž Select the File menu by pressing ALT, or select the Search menu by 
   pressing ALT+RIGHT ARROW. Then press F1. 
    
 \bTo get help on a command\p

 ž Select the menu by pressing ALT and the first letter of the menu. Then
   use the UP ARROW or DOWN ARROW key to select the command you want, and 
   press F1.

 \bTo get help on a dialog box\p

 ž Press F1 or click the Help button.

.context @sg.men
:nUsing Menus and Commands

                           \bUsing Menus and Commands\p
 
 Use the menu bar at the top of the screen to select menus and commands.

 Menu action          With a mouse                 With a keyboard
 ĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ    ĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ    ĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ
 Display a menu.      Move the mouse pointer to    Press ALT to highlight
                      the menu name, then click    menu letters, then press
                      it.                          the letter key for the
                                                   menu you want to display.

 Choose a command.    Click the command name.      Press the letter key that
                                                   matches the highlighted
                                                   letter on the command.

 Cancel a selected    Click outside the menu.      Press ESC.
 command.

.context @sg.dia
:nUsing a Dialog Box

                              \bUsing a Dialog Box\p
 
 MS-DOS Help displays dialog boxes when you choose commands that have 
 options.

 Dialog box action    With a mouse                 With a keyboard
 ĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ    ĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ    ĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ
 Select a text box.   Move the mouse pointer to    Press TAB until the
                      the text box, then click     cursor is in the text
                      it.                          box.
                      
 Choose an option.    Click the option.            Move to an option with
                                                   the direction keys.

 Turn a check box     Click the check box.         Use TAB to move the
 on or off.                                        cursor to the check box,
                                                   then press the SPACEBAR.

 Choose a command     Click the command button.    Use TAB to move the
 button.                                           cursor to the command
                                                   button, then press ENTER.

.context EDIT
.context @sg.opt
:nStarting MS-DOS Help from the Command Line

                  \bStarting MS-DOS Help from the Command Line\p
 
 The HELP command starts MS-DOS Help. You can use it two ways: 
 
 ž To display the table of contents, type HELP at the command prompt, and 
   then press ENTER.

 ž To display help about a particular command, type HELP followed by the 
   command you want help on. For example, to display help about the COPY 
   command, type the following at the command prompt, and then press ENTER:

   help copy

.context helpKeyboardId
:nUsing MS-DOS Help with the Keyboard

                      \bUsing MS-DOS Help with the Keyboard\p
 
 The following topics explain how to navigate through MS-DOS Help and find
 the topics you want.
 
 Choose a topic below.
                
 \i<\p\aCursor-Movement Keys\v@m.keys\v\i>\p  
 \i<\p\aHelp Keys\v@.hk\v\i>\p 
 \i<\p\aNavigation Keys\v@fc.keys\v\i>\p
 \i<\p\aScrolling Keys\v@s.keys\v\i>\p  

.context @m.keys
:nCursor-Movement Keys

                             \bCursor-Movement Keys\p
 
 To move the cursor             Press this key combination
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-
 One character left             LEFT ARROW          
 One character right            RIGHT ARROW        
 One word left                  CTRL+LEFT ARROW     
 One word right                 CTRL+RIGHT ARROW    
 One line up                    UP ARROW            
 One line down                  DOWN ARROW          
 To the beginning of a line     HOME
 To the end of a line           END                 
 To the beginning of a topic    CTRL+HOME
 To the end of a topic          CTRL+END

.context @s.keys
:nScrolling Keys

                                \bScrolling Keys\p
 
 To scroll            Press this key combination
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-
 One line up          CTRL+UP ARROW      
 One line down        CTRL+DOWN ARROW    
 One window up        PAGE UP               
 One window down      PAGE DOWN               

.context @fc.keys
:nNavigation Keys

                                \bNavigation Keys\p
 
 To                                               Press these keys
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-
 Search for text                                  ALT+S,F
 Repeat a search                                  F3 
 Move the cursor to the next jump                 TAB
 Move the cursor to the previous jump             SHIFT+TAB
 Move the cursor to the next jump starting        letter
    with a particular letter
 Move the cursor to the previous jump             SHIFT+letter
    starting with a particular letter
 Display previously displayed Help topics         ALT+B
 Display the next topic in MS-DOS Help            ALT+N
 Display the previous topic in MS-DOS Help        SHIFT+CTRL+F1

.context @.hk
:nHelp Keys

                                   \bHelp Keys\p
 
 To display                            Press
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-
 MS-DOS Help Contents                  F1 
 Help on a selected menu or command    F1
 Help on a dialog box                  F1

.context hidFilePrint
:nPrint Dialog

\bPrint Dialog\p

Use to print the current topic to a printer or
to a file.

If you choose the Printer option, MS-DOS Help
prints to the printer connected to the port
indicated in parenthesis. To print to a printer
connected to a different port, choose the Printer
Setup button.

If you choose the File option, type the filename
you want in the text box. MS-DOS Help prints the 
file to the current directory, unless you specify
a different pathname.

.context hidPrintSet
:nPrinter Setup Dialog

\bPrinter Setup Dialog\p

Specifies a printer port. MS-DOS will print to the
printer connected to the port you choose.

.context hidSearchFind
:nFind Command Dialog Box

\bFind Command Dialog Box\p

Finds a specific string of text.

ŚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Find ÄÄÄÄÄÄÄÄÄÄÄÄÄÄæ
³                                   ³  Enter text or use
³ Find What: ±±±±±±±±±±±±±±±±±±±± ÄÄÄ text already here.
³                                   ³
³ ± Upper/Lowercase ± Whole Word ÄÄÄÄ Select search type.
³                                   ³
ĄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŁ  Then choose <OK>.

Select Upper/Lowercase for a case-sensitive match, or
select Whole Word to exclude matches within words or strings.
Whole-word searches recognize a match only when the
text is surrounded by blanks, punctuation, or other special
characters. The search text can be 127 characters long.

.context MSG_HelpFilePrint
:nPrint Command

\bPrint Command\p
 
Use to print the current topic to a printer or to
a file.

.context MSG_HelpFileExit
:nExit Command

\bExit Command\p
 
Quits MS-DOS Help.

.context MSG_HelpSearchFind
:nFind Command

\bFind Command\p
 
Searches for text. You can specify a case-sensitive match 
or a whole-word match.

.context MSG_HelpSearchNext
:nRepeat Last Find Command

\bRepeat Last Find Command\p
 
Repeats the search you last specified with the Find 
command.

If you have not used the Find command since you started 
MS-DOS Help, Repeat Last Find searches for the next 
occurrence of:
 
ž The word the cursor is on.
ž The word to the cursor's left, if the cursor isn't 
  on a word.

.context MSG_HelpHelpStarted
:nHow to Use MS-DOS Help

\bHow to Use MS-DOS Help\p
 
Provides information about:
 
ž Navigating through MS-DOS Help.
ž Finding the topics you want in MS-DOS Help.
ž Using the MS-DOS Help menus, commands, and dialog 
  boxes. 
 
.context MSG_HelpHelpAbout
:nAbout Command

\bAbout Command\p
 
Displays the version number and copyright information of 
MS-DOS Help.

.context QB_ER_OM
.context QB_ER_OS
.context MSG_OutNearMem
:nOut of Memory

\bOut of Memory\p
 
More memory was required than is available. To correct 
this:
 
ž Exit and reduce the number of your buffers (BUFFERS=) 
  in your CONFIG.SYS 
  file. Then reboot your computer.
ž Exit and reduce the number of memory-resident programs.
ž Exit and reduce the number of loaded device drivers. 
  Then reboot your 
  computer.

.context QB_ER_DF
:nDevice Fault

\bDevice Fault\p
 
MS-DOS Help has detected a fault at the printer. Make sure 
that:
 
ž The printer is attached to the device.
ž The printer online indicator light is still on.
ž The printer power is still on.
ž The printer cable is securely connected to the printer 
  and the computer.

.context QB_ER_DTO
:nDevice Timeout

\bTimeout\p
 
MS-DOS Help did not receive information from a printer 
within a predetermined amount of time. Check the printer to 
make sure it is functioning properly.

.context QB_ER_OP
:nOut of Paper

\bOut of Paper\p
 
The printer is out of paper, or it is not turned on.

.context QB_ER_IER
:nInternal Error

\bInternal Error\p
 
An internal error occurred in MS-DOS Help that should 
be reported to Microsoft.

.context QB_ER_IOE
:nDevice I/O Error

\bDevice I/O Error\p
 
You used the File menu's Print command and a printer 
error occurred. Check the printer.

.context MSG_NoSearchString
:nNo Search String

\bNo Search String\p
 
The Find What text box was empty when you used the 
Find command. Return to 
the Find What text box and enter text before choosing 
<OK>.

.context MSG_MatchNotFound
:nMatch Not Found

\bMatch Not Found\p
 
MS-DOS Help could not find the text you specified.

The cursor remains at the location where you started the 
search.

.context helpQHContentsId
.context helpQHContentsId
.context cmdcontents
.context @cmdcontents
:nCommand Reference

Use the scroll bars to see more commands. Or, press the PAGE DOWN key. For
more information about using MS-DOS Help, choose How to Use MS-DOS Help
from the Help menu, or press F1.

\i<\p\aANSI.SYS\v@ANSI.SYS\v\i>\p                  \i<\p\aFastopen\v@Fastopen\v\i>\p                 \i<\p\aNet Stop\v@NET STOP\v\i>\p
\i<\p\aAppend\v@Append\v\i>\p                    \i<\p\aFc\v@Fc\v\i>\p                       \i<\p\aNet Time\v@NET TIME\v\i>\p
\i<\p\aAttrib\v@Attrib\v\i>\p                    \i<\p\aFcbs\v@Fcbs\v\i>\p                     \i<\p\aNet Use\v@NET USE\v\i>\p
\i<\p\aBatch commands\v@Batch\v\i>\p            \i<\p\aFdisk\v@Fdisk\v\i>\p                    \i<\p\aNet Ver\v@NET VER\v\i>\p
\i<\p\aBreak\v@Break\v\i>\p                     \i<\p\aFiles\v@Files\v\i>\p                    \i<\p\aNet View\v@NET VIEW\v\i>\p
\i<\p\aBuffers\v@Buffers\v\i>\p                   \i<\p\aFind\v@Find\v\i>\p                     \i<\p\aNlsfunc\v@NLSFUNC\v\i>\p
\i<\p\aCall\v@Call\v\i>\p                      \i<\p\aFor\v@For\v\i>\p                      \i<\p\aNumlock\v@NUMLOCK\v\i>\p
\i<\p\aChcp\v@Chcp\v\i>\p                      \i<\p\aFormat\v@Format\v\i>\p                   \i<\p\aPath\v@PATH\v\i>\p
\i<\p\aChdir (cd)\v@CHDIR (CD)\v\i>\p                \i<\p\aGoto\v@GOTO\v\i>\p                     \i<\p\aPause\v@PAUSE\v\i>\p
\i<\p\aChkdsk\v@Chkdsk\v\i>\p                    \i<\p\aGraphics\v@GRAPHICS\v\i>\p                 \i<\p\aPower\v@POWER\v\i>\p
\i<\p\aChoice\v@Choice\v\i>\p                    \i<\p\aHelp\v@Help\v\i>\p                     \i<\p\aPOWER.EXE\v@POWER.EXE\v\i>\p
\i<\p\aCls\v@Cls\v\i>\p                       \i<\p\aHIMEM.SYS\v@HIMEM.SYS\v\i>\p                \i<\p\aPrint\v@PRINT\v\i>\p
\i<\p\aCommand\v@Command\v\i>\p                   \i<\p\aIf\v@IF\v\i>\p                       \i<\p\aPrompt\v@PROMPT\v\i>\p
\i<\p\aCONFIG.SYS commands\v@CONFIG.SYS\v\i>\p       \i<\p\aInclude\v@INCLUDE\v\i>\p                  \i<\p\aQbasic\v@QBASIC\v\i>\p
\i<\p\aCopy\v@Copy\v\i>\p                      \i<\p\aInstall\v@INSTALL\v\i>\p                  \i<\p\aRAMDRIVE.SYS\v@RAMDRIVE.SYS\v\i>\p
\i<\p\aCountry\v@Country\v\i>\p                   \i<\p\aInterlnk\v@INTERLNK\v\i>\p                 \i<\p\aRem\v@REM\v\i>\p
\i<\p\aCtty\v@Ctty\v\i>\p                      \i<\p\aINTERLNK.EXE\v@INTERLNK.EXE\v\i>\p             \i<\p\aRename (ren)\v@RENAME (REN)\v\i>\p
\i<\p\aDate\v@Date\v\i>\p                      \i<\p\aInternational commands\v@International\v\i>\p   \i<\p\aReplace\v@REPLACE\v\i>\p
\i<\p\aDblspace\v@DBLSPACE\v\i>\p                  \i<\p\aIntersvr\v@INTERSVR\v\i>\p                 \i<\p\aRestore\v@RESTORE\v\i>\p
\i<\p\aDBLSPACE.SYS\v@DBLSPACE.SYS\v\i>\p              \i<\p\aKeyb\v@KEYB\v\i>\p                     \i<\p\aRmdir (rd)\v@RMDIR (RD)\v\i>\p
\i<\p\aDebug\v@Debug\v\i>\p                     \i<\p\aLabel\v@LABEL\v\i>\p                    \i<\p\aSet\v@SET\v\i>\p
\i<\p\aDecomp\vDecomp\v\i>\p                    \i<\p\aLastdrive\v@LASTDRIVE\v\i>\p                \i<\p\aSetver\v@SETVER\v\i>\p
\i<\p\aDefrag\v@DEFRAG\v\i>\p                    \i<\p\aLoadfix\v@loadfix\v\i>\p                  \i<\p\aSETVER.EXE\v@SETVER.EXE\v\i>\p
\i<\p\aDel (Erase)\v@Del (Erase)\v\i>\p               \i<\p\aLoadhigh (lh)\v@LOADHIGH (LH)\v\i>\p            \i<\p\aShare\v@SHARE\v\i>\p
\i<\p\aDevice\v@Device\v\i>\p                    \i<\p\aMail\v@MAIL\v\i>\p                     \i<\p\aShell\v@SHELL\v\i>\p
\i<\p\aDevice drivers\v@Device Drivers\v\i>\p            \i<\p\aMem\v@MEM\v\i>\p                      \i<\p\aShift\v@SHIFT\v\i>\p
\i<\p\aDevicehigh\v@Devicehigh\v\i>\p                \i<\p\aMemmaker\v@MEMMAKER\v\i>\p                 \i<\p\aSMARTDRV.EXE\v@SMARTDRV.EXE\v\i>\p
\i<\p\aDir\v@Dir\v\i>\p                       \i<\p\aMenuColor\v@MENUCOLOR\v\i>\p                \i<\p\aSort\v@SORT\v\i>\p
\i<\p\aDiskcomp\v@Diskcomp\v\i>\p                  \i<\p\aMenuDefault\v@MENUDEFAULT\v\i>\p              \i<\p\aStacks\v@STACKS\v\i>\p
\i<\p\aDiskcopy\v@Diskcopy\v\i>\p                  \i<\p\aMenuItem\v@MENUITEM\v\i>\p                 \i<\p\aSubmenu\v@SUBMENU\v\i>\p
\i<\p\aDISPLAY.SYS\v@DISPLAY.SYS\v\i>\p               \i<\p\aMicro\v@MICRO\v\i>\p                    \i<\p\aSubst\v@SUBST\v\i>\p
\i<\p\aDos\v@Dos\v\i>\p                       \i<\p\aMkdir (md)\v@MKDIR (MD)\v\i>\p               \i<\p\aSwitches\v@SWITCHES\v\i>\p
\i<\p\aDosback\v@DOSBACK\v\i>\p                   \i<\p\aMode Commands\v@MODE\v\i>\p            \i<\p\aSys\v@SYS\v\i>\p
\i<\p\aDoshelp\v@DOSHELP\v\i>\p                   \i<\p\aMore\v@MORE\v\i>\p                     \i<\p\aTime\v@TIME\v\i>\p
\i<\p\aDoskey\v@Doskey\v\i>\p                    \i<\p\aMSAV\v@MSAV\v\i>\p                     \i<\p\aTree\v@TREE\v\i>\p
\i<\p\aDosshell\v@Dosshell\v\i>\p                  \i<\p\aMSD\v@msd\v\i>\p                      \i<\p\aType\v@TYPE\v\i>\p
\i<\p\aDRIVER.SYS\v@DRIVER.SYS\v\i>\p                \i<\p\aNet\v@NET\v\i>\p                      \i<\p\aUndelete\v@UNDELETE\v\i>\p
\i<\p\aDrivparm\v@Drivparm\v\i>\p                  \i<\p\aNet Config\v@NET CONFIG\v\i>\p               \i<\p\aUnformat\v@UNFORMAT\v\i>\p
\i<\p\aEcho\v@Echo\v\i>\p                      \i<\p\aNet Logoff\v@NET LOGOFF\v\i>\p               \i<\p\aVer\v@VER\v\i>\p
\i<\p\aEdit\v@Edit\v\i>\p                      \i<\p\aNet Logon\v@NET LOGON\v\i>\p                \i<\p\aVerify\v@VERIFY\v\i>\p
\i<\p\aEGA.SYS\v@EGA.SYS\v\i>\p                   \i<\p\aNet Password\v@NET PASSWORD\v\i>\p             \i<\p\aVol\v@VOL\v\i>\p
\i<\p\aEmm386\v@EMM386\v\i>\p                    \i<\p\aNet Print\v@NET PRINT\v\i>\p                \i<\p\aVSafe\v@VSAFE\v\i>\p
\i<\p\aEMM386.EXE\v@EMM386.EXE\v\i>\p                \i<\p\aNet Start\v@NET START\v\i>\p                \i<\p\aXcopy\v@XCOPY\v\i>\p
\i<\p\aExit\v@EXIT\v\i>\p

                                      
.context @Batch
.context Batch
:nBatch Commands
                               \bBatch Commands\p

A batch file or batch program is an unformatted text file that contains one
or more MS-DOS commands and is assigned a .BAT extension. When you type the
name of the batch program at the command prompt, the commands are carried
out as a group.

Any MS-DOS command you use at the command prompt can also be put in a batch
program. In addition, there are nine MS-DOS commands that are specially
designed for batch programs. The commands and their functions are as
follows:

\i<\p\aCall\v@Call\v\i>\p                    \i<\p\aIf\v@IF\v\i>\p
\i<\p\aChoice\v@Choice\v\i>\p                  \i<\p\aPause\v@PAUSE\v\i>\p
\i<\p\aEcho\v@Echo\v\i>\p                    \i<\p\aRem\v@REM\v\i>\p
\i<\p\aFor\v@For\v\i>\p                     \i<\p\aShift\v@SHIFT\v\i>\p
\i<\p\aGoto\v@GOTO\v\i>\p

.context @CONFIG.SYS
.context config
.context CONFIG.SYS
:nCONFIG.SYS Commands
                            \bCONFIG.SYS Commands\p

The CONFIG.SYS file is a text file that contains special commands. These
commands configure your computer's hardware components so that MS-DOS and
applications can use them. When MS-DOS starts, it carries out the commands
in the CONFIG.SYS file. Typically, the CONFIG.SYS file is located in the
root directory of drive C.

The following CONFIG.SYS commands can be used only in the CONFIG.SYS file:

\i<\p\aBuffers\v@Buffers\v\i>\p                 \i<\p\aFiles\v@Files\v\i>\p
\i<\p\aCountry\v@Country\v\i>\p                 \i<\p\aInstall\v@INSTALL\v\i>\p
\i<\p\aDevice\v@Device\v\i>\p                  \i<\p\aLastdrive\v@LASTDRIVE\v\i>\p
\i<\p\aDevicehigh\v@Devicehigh\v\i>\p              \i<\p\aNumlock\v@NUMLOCK\v\i>\p
\i<\p\aDos\v@Dos\v\i>\p                     \i<\p\aShell\v@SHELL\v\i>\p
\i<\p\aDrivparm\v@Drivparm\v\i>\p                \i<\p\aStacks\v@STACKS\v\i>\p
\i<\p\aFcbs\v@Fcbs\v\i>\p                    \i<\p\aSwitches\v@SWITCHES\v\i>\p

The following commands are commonly used in the CONFIG.SYS file and can also
be typed at the command prompt:

\i<\p\aBreak\v@Break\v\i>\p
\i<\p\aRem\v@REM\v\i>\p
\i<\p\aSet\v@SET\v\i>\p

The following special CONFIG.SYS commands are used only to define multiple
configurations within the CONFIG.SYS file:

\i<\p\aInclude\v@INCLUDE\v\i>\p
\i<\p\aMenucolor\v@MENUCOLOR\v\i>\p
\i<\p\aMenudefault\v@MENUDEFAULT\v\i>\p
\i<\p\aMenuitem\v@MENUITEM\v\i>\p
\i<\p\aSubmenu\v@SUBMENU\v\i>\p

The CONFIG.SYS file can also contain the following special characters:

   @   Prevents the current line from being echoed. Insert this
       character at the beginning of the line. (You can also prevent
       lines from being echoed by using the ECHO OFF command.)

   ;   Specifies that the current line is a descriptive comment
       and should not be carried out. Insert this character at the
       beginning of the line. (You can also insert a comment by using
       the REM command.)

   ?   Specifies that MS-DOS is to ask for confirmation before
       carrying out the current command. Insert this character just
       before the equal sign (=). For example, to have MS-DOS ask
       for confirmation before carrying out the DOS=HIGH command, you
       would change the command to read DOS?=HIGH.

                                      
.context @Device Drivers
.context drivers
.context Device Drivers
:nDevice Drivers
                               \bDevice Drivers\p

The following installable device drivers are provided with MS-DOS:

\i<\p\aANSI.SYS\v@ANSI.SYS\v\i>\p                \i<\p\aHIMEM.SYS\v@HIMEM.SYS\v\i>\p
\i<\p\aDBLSPACE.SYS\v@DBLSPACE.SYS\v\i>\p            \i<\p\aINTERLNK.EXE\v@INTERLNK.EXE\v\i>\p
\i<\p\aDISPLAY.SYS\v@DISPLAY.SYS\v\i>\p             \i<\p\aPOWER.EXE\v@POWER.EXE\v\i>\p
\i<\p\aDRIVER.SYS\v@DRIVER.SYS\v\i>\p              \i<\p\aRAMDRIVE.SYS\v@RAMDRIVE.SYS\v\i>\p
\i<\p\aEGA.SYS\v@EGA.SYS\v\i>\p                 \i<\p\aSETVER.EXE\v@SETVER.EXE\v\i>\p
\i<\p\aEMM386.EXE\v@EMM386.EXE\v\i>\p              \i<\p\aSMARTDRV.EXE\v@SMARTDRV.EXE\v\i>\p

The files COUNTRY.SYS and KEYBOARD.SYS are not device drivers. They are data
files for the COUNTRY and KEYB commands, respectively. Do not try to load
either of these files with the DEVICE command. If you do, your system halts,
and you cannot restart MS-DOS. For information about loading COUNTRY.SYS,
see the \i<\p\aCOUNTRY\v@Country\v\i>\p command. For information about loading KEYBOARD.SYS, see
the \i<\p\aKEYB\v@KEYB\v\i>\p command.

                                      
.context International
.context @International
:nInternational Commands
                           \bInternational Commands\p

The following commands are useful when changing country-specific settings
and character sets (code pages):

\i<\p\aChcp\v@Chcp\v\i>\p
\i<\p\aCountry\v@Country\v\i>\p
\i<\p\aKeyb\v@KEYB\v\i>\p
\i<\p\aMode\v@MODE\v\i>\p
\i<\p\aNlsfunc\v@NLSFUNC\v\i>\p

                                      
.context ANSI.SYS
.context @ANSI.SYS
:nANSI.SYS
:z3
\i\p\aNotes\v@ANSI.SYS--Notes\v\i\p  \i\p\aExample\v@ANSI.SYS--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bANSI.SYS\p

Defines functions that change display graphics, control cursor movement, and
reassign keys. The ANSI.SYS device driver supports ANSI terminal emulation
of escape sequences to control your system's screen and keyboard. An ANSI
escape sequence is a sequence of ASCII characters, the first two of which
are the escape character (1Bh) and the left-bracket character (5Bh). The
character or characters following the escape and left-bracket characters
specify an alphanumeric code that controls a keyboard or display function.
ANSI escape sequences distinguish between uppercase and lowercase letters;
for example,"A" and "a" have completely different meanings.

\bNote:\p  In this topic bold letters in syntax and ANSI escape sequences
       indicate text you must type exactly as it appears.

\bSyntax\p

    \bDEVICE=\p[drive:][path]\bANSI.SYS\p [\b/X\p] [\b/K\p]

\bParameter\p

[drive:][path]
   Specifies the location of the ANSI.SYS file.

\bSwitches\p

\b/X\p
    Remaps extended keys independently on 101-key keyboards.

\b/K\p
    Causes ANSI .SYS to treat a 101-key keyboard like an 84-key
    keyboard. This is equivalent to the command \bSWITCHES=/K\p.
    If you normally use the \bSWITCHES=/K\p command, you will need
    to use the \b/K\p switch with ANSI.SYS.

\bParameters used in ANSI escape sequences\p

Pn
    Numeric parameter. Specifies a decimal number.

Ps
    Selective parameter. Specifies a decimal number that you use to select
    a function. You can specify more than one function by separating the
    parameters with semicolons.

PL
    Line parameter. Specifies a decimal number that represents one of the
    lines on your display or on another device.

Pc
    Column parameter. Specifies a decimal number that represents one of the
    columns on your screen or on another device.

\bANSI escape sequences for cursor movement, graphics, and keyboard settings\p

In the following list of ANSI escape sequences, the abbreviation ESC
represents the ASCII escape character 27 (1Bh), which appears at the
beginning of each escape sequence.

\bESC[\pPL\b;\pPc\bH\p
    Cursor Position     Moves the cursor to the specified position
    (coordinates). If you do not specify a position, the cursor moves to
    the home positionÄÄthe upper-left corner of the screen (line 0, column
    0). This escape sequence works the same way as the following Cursor
    Position escape sequence.

\bESC[\pPL\b;\pPc\bf\p
    Cursor Position     Works the same way as the preceding Cursor
    Position escape sequence.

\bESC[\pPn\bA\p
    Cursor Up     Moves the cursor up by the specified number of lines
    without changing columns. If the cursor is already on the top line,
    ANSI.SYS ignores this sequence.

\bESC[\pPn\bB\p
    Cursor Down     Moves the cursor down by the specified number of lines
    without changing columns. If the cursor is already on the bottom line,
    ANSI.SYS ignores this sequence.

\bESC[\pPn\bC\p
    Cursor Forward     Moves the cursor forward by the specified number of
    columns without changing lines. If the cursor is already in the
    rightmost column, ANSI.SYS ignores this sequence.

\bESC[\pPn\bD\p
    Cursor Backward     Moves the cursor back by the specified number of
    columns without changing lines. If the cursor is already in the leftmost
    column, ANSI.SYS ignores this sequence.

\bESC[s\p
    Save Cursor Position     Saves the current cursor position. You can
    move the cursor to the saved cursor position by using the Restore Cursor
    Position sequence.

\bESC[u\p
    Restore Cursor Position     Returns the cursor to the position stored
    by the Save Cursor Position sequence.

\bESC[2J\p
    Erase Display     Clears the screen and moves the cursor to the home
    position (line 0, column 0).

\bESC[K\p
    Erase Line     Clears all characters from the cursor position to the
    end of the line (including the character at the cursor position).

\bESC[\pPs\b;\p...\b;\pPs\bm\p
    Set Graphics Mode     Calls the graphics functions specified by the
    following values. These specified functions remain active until the
    next occurrence of this escape sequence. Graphics mode changes
    the colors and attributes of text (such as bold and underline)
    displayed on the screen.

    Text attributes
       0    All attributes off
       1    Bold on
       4    Underscore (on monochrome display adapter only)
       5    Blink on
       7    Reverse video on
       8    Concealed on

    Foreground colors
       30    Black
       31    Red
       32    Green
       33    Yellow
       34    Blue
       35    Magenta
       36    Cyan
       37    White

    Background colors
       40    Black
       41    Red
       42    Green
       43    Yellow
       44    Blue
       45    Magenta
       46    Cyan
       47    White

    Parameters 30 through 47 meet the ISO 6429 standard.

\bESC[\p=ps\bh\p
    Set Mode     Changes the screen width or type to the mode specified
    by one of the following values:

       0      40 x 148 x 25 monochrome (text)
       1      40 x 148 x 25 color (text)
       2      80 x 148 x 25 monochrome (text)
       3      80 x 148 x 25 color (text)
       4      320 x 148 x 200 4-color (graphics)
       5      320 x 148 x 200 monochrome (graphics)
       6      640 x 148 x 200 monochrome (graphics)
       7      Enables line wrapping
      13      320 x 148 x 200 color (graphics)
      14      640 x 148 x 200 color (16-color graphics)
      15      640 x 148 x 350 monochrome (2-color graphics)
      16      640 x 148 x 350 color (16-color graphics)
      17      640 x 148 x 480 monochrome (2-color graphics)
      18      640 x 148 x 480 color (16-color graphics)
      19      320 x 148 x 200 color (256-color graphics)

\bESC[\p=Ps\bl\p
    Reset Mode    Resets the mode by using the same values that Set Mode
    uses, except for 7, which disables line wrapping. The last character
    in this escape sequence is a lowercase L.

\bESC[\pcode\b;\pstring\b;\p...\bp\p
    Set Keyboard Strings    Redefines a keyboard key to a specified string.
    The parameters for this escape sequence are defined as follows:

      Code is one or more of the values listed in the following table.
       These values represent keyboard keys and key combinations. When using
       these values in a command, you must type the semicolons shown in this
       table in addition to the semicolons required by the escape sequence.
       The codes in parentheses are not available on some keyboards.
       ANSI.SYS will not interpret the codes in parentheses for those
       keyboards unless you specify the /X switch in the DEVICE command for
       ANSI.SYS.

      String is either the ASCII code for a single character or a string
       contained in quotation marks. For example, both 65 and "A" can be
       used to represent an uppercase A.

\bIMPORTANT:\p  Some of the values in the following table are not valid for all
            computers. Check your computer's documentation for values that
            are different.

\bKey                     Code      SHIFT+code  CTRL+code  ALT+code
\pÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

F1                      0;59      0;84        0;94       0;104

F2                      0;60      0;85        0;95       0;105

F3                      0;61      0;86        0;96       0;106

F4                      0;62      0;87        0;97       0;107

F5                      0;63      0;88        0;98       0;108

F6                      0;64      0;89        0;99       0;109

F7                      0;65      0;90        0;100      0;110

F8                      0;66      0;91        0;101      0;111

F9                      0;67      0;92        0;102      0;112

F10                     0;68      0;93        0;103      0;113

F11                     0;133     0;135       0;137      0;139

F12                     0;134     0;136       0;138      0;140

HOME                    0;71      55          0;119      ÄÄ-

UP ARROW                0;72      56          (0;141)    ÄÄ-

PAGE UP                 0;73      57          0;132      ÄÄ-

LEFT ARROW              0;75      52          0;115      ÄÄ-

RIGHT ARROW             0;77      54          0;116      ÄÄ-

END                     0;79      49          0;117      ÄÄ-

DOWN ARROW              0;80      50          (0;145)    ÄÄ-

PAGE DOWN               0;81      51          0;118      ÄÄ-

INSERT                  0;82      48          (0;146)    ÄÄ-

DELETE                  0;83      46          (0;147)    ÄÄ-

HOME (gray key)         (224;71)  (224;71)    (224;119)  (224;151)

UP ARROW (gray key)     (224;72)  (224;72)    (224;141)  (224;152)

PAGE UP (gray key)      (224;73)  (224;73)    (224;132)  (224;153)

LEFT ARROW (gray key)   (224;75)  (224;75)    (224;115)  (224;155)

RIGHT ARROW (gray       (224;77)  (224;77)    (224;116)  (224;157)
key)                                                     

END (gray key)          (224;79)  (224;79)    (224;117)  (224;159)

DOWN ARROW (gray key)   (224;80)  (224;80)    (224;145)  (224;154)

PAGE DOWN (gray key)    (224;81)  (224;81)    (224;118)  (224;161)

INSERT (gray key)       (224;82)  (224;82)    (224;146)  (224;162)

DELETE (gray key)       (224;83)  (224;83)    (224;147)  (224;163)

PRINT SCREEN            ÄÄ-       ÄÄ-         0;114      ÄÄ-

PAUSE/BREAK             ÄÄ-       ÄÄ-         0;0        ÄÄ-

BACKSPACE               8         8           127        (0)

ENTER                   13        ÄÄ-         10         (0

TAB                     9         0;15        (0;148)    (0;165)

NULL                    0;3       ÄÄ-         ÄÄ-        ÄÄ-

A                       97        65          1          0;30

B                       98        66          2          0;48

C                       99        66          3          0;46

D                       100       68          4          0;32

E                       101       69          5          0;18

F                       102       70          6          0;33

G                       103       71          7          0;34

H                       104       72          8          0;35

I                       105       73          9          0;23

J                       106       74          10         0;36

K                       107       75          11         0;37

L                       108       76          12         0;38

M                       109       77          13         0;50

N                       110       78          14         0;49

O                       111       79          15         0;24

P                       112       80          16         0;25

Q                       113       81          17         0;16

R                       114       82          18         0;19

S                       115       83          19         0;31

T                       116       84          20         0;20

U                       117       85          21         0;22

V                       118       86          22         0;47

W                       119       87          23         0;17

X                       120       88          24         0;45

Y                       121       89          25         0;21

Z                       122       90          26         0;44

1                       49        33          ÄÄ-        0;120

2                       50        64          0          0;121

3                       51        35          ÄÄ-        0;122

4                       52        36          ÄÄ-        0;123

5                       53        37          ÄÄ-        0;124

6                       54        94          30         0;125

7                       55        38          ÄÄ-        0;126

8                       56        42          ÄÄ-        0;126

9                       57        40          ÄÄ-        0;127

0                       48        41          ÄÄ-        0;129

-                       45        95          31         0;130

=                       61        43          ÄÄ-        0;131

[                       91        123         27         0;26

]                       93        125         29         0;27

                        92        124         28         0;43

;                       59        58          ÄÄ-        0;39

'                       39        34          ÄÄ-        0;40

,                       44        60          ÄÄ-        0;51

.                       46        62          ÄÄ-        0;52

/                       47        63          ÄÄ-        0;53

`                       96        126         ÄÄ-        (0;41)

ENTER (keypad)          13        ÄÄ-         10         (0;166)

/ (keypad)              47        47          (0;142)    (0;74)

* (keypad)              42        (0;144)     (0;78)     ÄÄ-

- (keypad)              45        45          (0;149)    (0;164)

+ (keypad)              43        43          (0;150)    (0;55)

5 (keypad)              (0;76)    53          (0;143)    ÄÄ-

                                      
.context ANSI.SYS--Notes
.context @ANSI.SYS--Notes
:nANSI.SYS--Notes
:z3
\i\p\aExamples\v@ANSI.SYS--Example\v\i\p  \i\p\aSyntax\v@ANSI.SYS\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bANSI.SYSÄÄNotes\p

\bRemapping extended keys\p

If you have a keyboard with 101 keys, you may want to use the \b/X\p switch to
remap certain extended keys. For example, there are two HOME keys on
keyboards with 101 keys. One HOME key is on the numeric keypad and the other
is in the block of cursor-control keys. To MS-DOS, the two HOME keys are the
same, unless you specify the \b/X\p switch.

\bIgnoring extended keys\p

If you have a program that does not correctly interpret input from an
enhanced keyboard, use the \b/K\p switch with ANSI.SYS. Your enhanced keyboard
will then use conventional keyboard functions.

\bUsing both the /X switch and the /K switch\p

You cannot specify ANSI.SYS with both the \b/X\p switch and the \b/K\p switch.

                                      
.context ANSI.SYS--Example
.context @ANSI.SYS--Example
:nANSI.SYS--Examples
:z3
\i\p\aSyntax\v@ANSI.SYS\v\i\p  \i\p\aNotes\v@ANSI.SYS--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bANSI.SYSÄÄExamples\p

To exchange the backslash and question-mark keys by using literal strings,
type the following escape sequence:

    ESC["\\";"?"pESC["?";"\\"p

To exchange the backslash and question-mark keys by using each key's ASCII
value, type the following escape sequence:

    ESC[92;63pESC[63;92p

To restore the backslash and question-mark keys to their original meanings,
type the following escape sequence:

    ESC[92;92pESC[63;63p

To specify that MS-DOS display a directory listing when you press the F2
key, type the following at the command prompt:

    prompt $e[0;60;"dir";13p

To specify a black screen background color and a high-intensity screen
foreground color, type the following at the command prompt:

    prompt $e[1;32;40m$p$g

                                      
.context Append
.context @Append
:nAPPEND
:z3
\i\p\aNotes\v@Append--Notes\v\i\p  \i\p\aExamples\v@Append--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bAPPEND\p

Enables programs to open data files in specified directories as if these
files were in the current directory.

The specified directories are called appended directories because, for the
sake of opening data files, they can be found as if they were appended to
the current directory.

\bSyntax\p

    APPEND [[drive:]path[;...]] [/X[:ON|:OFF]][/PATH:ON|/PATH:OFF] [/E]

To display the list of appended directories, use the following syntax:

    APPEND

To cancel the existing list of appended directories, use the following
syntax:

    APPEND ;

\bParameters\p

[drive:]path
    Specifies the drive (if other than the current drive) and directory that
    you want to append to the current directory. You can specify multiple
    entries of [drive:]path, separating the entries with semicolons.

;
    When used by itself (APPEND ;), cancels the existing list of appended
    directories.

\bSwitches\p

/X[:ON|:OFF]
    Specifies whether MS-DOS is to search appended directories when
    executing programs. If you use the /X:ON switch, the program does search
    appended directories. If you use the /X:OFF switch, the program does not
    search appended directories. You can abbreviate /X:ON to /X. If you want
    to specify X:ON, you must do it the first time you use APPEND after
    starting your system. After that, you can switch between X:ON and X:OFF.
    The default value is OFF.

/PATH:ON|/PATH:OFF
    Specifies whether a program is to search appended directories for a data
    file when a path is already included with the name of the file the
    program is looking for. The default setting is /PATH:ON.

/E
    Assigns the list of appended directories to an environment variable
    named APPEND. This switch can be used only the first time you use APPEND
    after starting your system. If you use /E, you can use the SET command
    to display the list of appended directories. For information about
    environment variables, see the \i<\p\aSET\v@SET\v\i>\p command.

\bCaution\p

Do not use Append with Microsoft Windows or the Windows Setup program.

\bRelated Command\p

To set a search path for executable files, see the \i<\p\aPATH\v@PATH\v\i>\p command.

                                      
.context Append--Notes
.context @Append--Notes
:nAPPEND--Notes
:z3
\i\p\aExamples\v@Append--Examples\v\i\p  \i\p\aSyntax\v@Append\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bAPPENDÄÄNotes\p

\bRunning APPEND with Microsoft Windows\p

Do not use Append with Microsoft Windows or the Windows Setup program.

\bRunning APPEND multiple times\p

You can use APPEND as many times as you want after starting your system.
However, note the following:

  The /E switch is valid only the first time you use APPEND after starting
   your system.

  The second and subsequent times you run APPEND, you must omit the.EXE
   filename extension. If you try to run APPEND by typing APPEND.EXE, it
   will not load more than once.

\bStoring the list of appended directories in the environment\p

You can use the /E switch with APPEND to assign the list of appended
directories to an environment variable named APPEND. To do this, first use
the APPEND command with only the /E switch. Then use APPEND again, this time
including the directories you want to append. You cannot specify /E and
[drive:]path on the same command line.

\bSpecifying multiple appended directories\p

To append more than one directory, separate multiple entries with
semicolons. If you use the APPEND command with the [drive:]path parameters
again, the specified directory or directories replace any directories
specified in a previous APPEND command.

\bAppended directories and the dir command\p

The DIR command does not add filenames from appended directories to
directory listings produced by the DIR command.

\bFilename conflicts\p

If a file in an appended directory has the same name as a file in the
current directory, programs open the file in the current directory.

\bUsing APPEND with programs that create new files\p

When a program opens a file in an appended directory, the file can be found
as if it were in the current directory. If the program then saves the file
by creating a new file with the same name, the new file is created in the
current directory (not the appended directory). APPEND is appropriately used
for data files that are not to be modified or that are to be modified
without creating new copies of the files. Database programs often modify
data files without making new copies. Text editors and word processors,
however, usually save modified data files by making new copies. To avoid
confusion, do not use APPEND with these programs.

\bUsing the /X:ON switch and the path command\p

When /X:ON is specified, you can run a program located in an appended
directory by typing the program name at the command prompt. Usually, you use
the PATH command to specify directories that contain programs. However, when
your program is in an appended directory, you do not need to use the PATH
command to specify that directory. MS-DOS finds a program in an appended
directory by following the usual order in which MS-DOS searches for a
program; that is, first in the current directory, then in the appended
directories, and then in the search path.

\bMS-DOS functions that always use appended directories\p

Even when the /X:ON switch is not specified, appended directories are used
when programs call the following MS-DOS Interrupt 21h functions:

  Open File (0Fh)

  Open File Handle (3Dh)

  Get File Size (23h)

When /X:ON is specified, appended directories are used when programs call
any of the Interrupt 21h functions in the preceding list or any of the
Interrupt 21h functions in the following list:

  Find First Entry (11h)

  Find First File (4Eh)

  Execute Program (EXEC) (4Bh)

\bUsing APPEND with network drives\p

You can use the APPEND command to append directories that are located on
network drives.

                                      
.context Append--Examples
.context @Append--Examples
:nAPPEND--Examples
:z3
\i\p\aSyntax\v@Append\v\i\p  \i\p\aNotes\v@Append--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bAPPENDÄÄExamples\p

To allow programs to open data files in a directory named LETTERS on the
disk in drive B and in a directory named REPORTS on the disk in drive A as
if the files were in the current directory, type the following command:

    append b:\\letters;a:\\reports

To append the same directories and keep a copy of the list of appended
directories in the MS-DOS environment, type the following commands:

    append /e

    append b:\\letters;a:\\reports

These must be the first APPEND commands you use after starting your system.

                                      
.context Attrib
.context @Attrib
:nATTRIB
:z3
\i\p\aNotes\v@Attrib--Notes\v\i\p  \i\p\aExamples\v@Attrib--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bATTRIB\p

Displays or changes file attributes.

This command displays, sets, or removes the read-only, archive, system, and
hidden attributes assigned to files or directories.

\bSyntax\p

    ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H][[drive:][path] filename] [/S]

To display all attributes of all files in the current directory, use the
following syntax:

    ATTRIB

\bParameter\p

[drive:][path] filename
    Specifies the location and name of the file(s) you want to process.

\bSwitches\p

+R
    Sets the read-only file attribute.

-R
    Clears the read-only file attribute.

+A
    Sets the archive file attribute.

-A
    Clears the archive file attribute.

+S
    Sets the file as a system file.

-S
    Clears the system file attribute.

+H
    Sets the file as a hidden file.

-H
    Clears the hidden-file attribute.

/S
    Processes files in the current directory and all of its subdirectories.

\bRelated Command\p

For more information about copying files and directories, see the \i<\p\aXCOPY\v@XCOPY\v\i>\p
command.

                                      
.context Attrib--Notes
.context @Attrib--Notes
:nATTRIB--Notes
:z3
\i\p\aExamples\v@Attrib--Examples\v\i\p  \i\p\aSyntax\v@Attrib\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bATTRIBÄÄNotes\p

\bCombining the hidden and system attributes\p

If a file has both the hidden and system attributes set, you can clear both
attributes only with a single ATTRIB command. For example, to clear the
Hidden and System attributes for the RECORD.TXT file, you would type:

    ATTRIB -S -H RECORD.TXT

\bGroups of files\p

You can use wildcards (? and *) with the filename parameter to display or
change the attributes for a group of files. If a file has the system or
hidden attribute set, you must clear that attribute before you can change
any other attributes for that file.

\bDirectories\p

You can display or change the attributes for a directory. To use ATTRIB with
a directory, you must explicitly specify the directory name; you cannot use
wildcards to work with directories. For example, to hide the directory
C:SECRET, you would type the following:

    ATTRIB +H C:SECRET

Typing the following command would affect only files, not directories:

    ATTRIB +H C:*.*

\bArchive attributes\p

The archive attribute (a) is used to mark files that have changed since they
were previously backed up. The DOSBACK, RESTORE and XCOPY commands use these
archive attributes. For information about archive attributes, see the
\i<\p\aDOSBACK\v@DOSBACK\v\i>\p, \i<\p\aRESTORE\v@RESTORE\v\i>\p and \i<\p\aXCOPY\v@XCOPY\v\i>\p commands.

                                      
.context Attrib--Examples
.context @Attrib--Examples
:nATTRIB--Examples
:z3
\i\p\aSyntax\v@Attrib\v\i\p  \i\p\aNotes\v@Attrib--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bATTRIBÄÄExamples\p

To display the attributes of a file named NEWS86 located on the current
drive, type the following command:

    attrib news86

To assign the read-only attribute to the file REPORT.TXT, type the following
command:

    attrib +r report.txt

To remove the read-only attribute from files in the \\PUBLIC\\JONES directory
on a disk in drive B and from files in any subdirectories of \\PUBLIC\\JONES,
type the following command:

    attrib -r b:\\public\\jones\\*.* /s

As a final example, suppose you want to give an associate a disk containing
all files in the default directory on a disk in drive A except files with
the .BAK extension. Because you can use \i<\p\aXCOPY\v@XCOPY\v\i>\p to copy only those files
marked with the archive attribute, you need to set the archive attribute for
those files you want to copy. To do this, you use the following two commands
to set the archive attribute for all files on drive A and then to clear the
attribute for those files with the .BAK extension:

    attrib +a a:*.*

    attrib -a a:*.bak

Next, use the XCOPY command to copy the files from the disk in drive A to
the disk in drive B. The /A switch in the following command causes XCOPY to
copy only those files marked with the archive attribute:

    xcopy a: b: /a

If you want XCOPY to clear each file's archive attribute after it copies the
file, use the /M switch instead of /A, as in the following example:

    xcopy a: b: /m

                                      
.context Break
.context @Break
:nBREAK
:z3
\i\p\aNotes\v@Break--Notes\v\i\p  \i\p\aExamples\v@Break--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bBREAK\p

Sets or clears extended CTRL+C checking.

You can press CTRL+C to stop a program or an activity (file sorting, for
example). Typically, MS-DOS checks for CTRL+C only while it reads from the
keyboard or writes to the screen or a printer. If you set BREAK to ON, you
extend CTRL+C checking to other functions, such as disk read and write
operations.

\bSyntax\p

    BREAK [ON|OFF]

To display the current BREAK setting, use the following syntax:

    BREAK

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

    BREAK=ON|OFF

\bParameter\p

ON|OFF
    Turns extended CTRL+C checking on or off.

                                      
.context Break--Notes
.context @Break--Notes
:nBreak--Notes
:z3
\i\p\aExamples\v@Break--Examples\v\i\p  \i\p\aSyntax\v@Break\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bBREAKÄÄNotes\p

\bIncluding BREAK in CONFIG.SYS\p

The default setting for BREAK is OFF. You can include the BREAK command in
your CONFIG.SYS file to enable extended CTRL+C checking every time you start
your system.

                                      
.context Break--Examples
.context @Break--Examples
:nBREAK--Examples
:z3
\i\p\aSyntax\v@Break\v\i\p  \i\p\aNotes\v@Break--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bBREAKÄÄExamples\p

To specify that MS-DOS is to check for CTRL+C only while it is reading from
the keyboard or writing to the screen or printer, type the following
command:

    break off

To specify that MS-DOS is to check for CTRL+C while it is reading from a
disk or the keyboard or writing to a disk or the screen, type the following
command:

    break on

To turn on this extended CTRL+C checking every time you start your system,
include the following command in your CONFIG.SYS file:

    break=on

                                      
.context Buffers
.context @Buffers
:nBUFFERS
:z3
\i\p\aNotes\v@Buffers--Notes\v\i\p  \i\p\aExample\v@Buffers--Examples\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bBUFFERS\p

Allocates memory for a specified number of disk buffers when your system
starts.

\bSyntax\p

    BUFFERS=n[,m]

\bParameters\p

n
    Specifies the number of disk buffers. The value of n must be in the
    range 1 through 99.

m
    Specifies the number of buffers in the secondary buffer cache. The value
    of m must be in the range 0 through 8.

\bDefault settings\p

The default setting for the number of disk buffers depends upon the
configuration of your system, as shown in the following table:

\bConfiguration              Buffers      Bytes
                           (n)          
\pÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

<128K of RAM, 360K disk    2            ÄÄ

<128K of RAM, > 360K       3            ÄÄ
disk                                    

128K to 255K of RAM        5            2672

256K to 511K of RAM        10           5328

512K to 640K of RAM        15           7984

The default setting for the number of buffers in the secondary cache (m) is
0 (no secondary cache buffers).

If you specify an invalid value for n or m, BUFFERS uses the default setting
of no secondary cache buffers.

                                      
.context Buffers--Notes
.context @Buffers--Notes
:nBUFFERS--Notes
:z3
\i\p\aExample\v@Buffers--Examples\v\i\p  \i\p\aSyntax\v@Buffers\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bBUFFERSÄÄNotes\p

\bUsing the secondary buffer cache\p

Using the cache can speed up certain disk operations if you are using a
computer with an 8086 processor. If you are using a computer with a faster
processor, it is better to use \i<\p\aSMARTDRV.EXE\v@SMARTDRV.EXE\v\i>\p for a cache.

\bUsing BUFFERS with SMARTDRV.EXE\p

If you are using SMARTDRV.EXE, either use a smaller value for BUFFERS, or do
not specify a BUFFERS command at all.

\bHow MS-DOS uses buffers\p

MS-DOS uses the memory reserved for each disk buffer to hold data during
read and write operations. To achieve the best performance with programs
such as word processors, specify a value between 10 and 20 for n. If you
plan to create many subdirectories, you might want to increase the number of
buffers to 20 or 30. Each buffer requires approximately 532 bytes of memory.
Therefore, the more buffers you have, the less memory you have available for
programs. (To find out how much memory MS-DOS is using for disk buffers, use
the MEM /D /P command.)

If MS-DOS is in the high memory area (HMA) and there is enough room in the
HMA to contain all the buffers, MS-DOS also places the buffers in the HMA.
If you specify more than 48 buffers, there will not be enough room in the
HMA for all the buffers; in that case, MS-DOS places all of the buffers into
conventional memory.

                                      
.context Buffers--Examples
.context @Buffers--Examples
:nBUFFERS--Example
:z3
\i\p\aSyntax\v@Buffers\v\i\p  \i\p\aNotes\v@Buffers--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bBUFFERSÄÄExample\p

To create 20 disk buffers, include the following command in your CONFIG.SYS
file:

    buffers=20

                                      
.context Call
.context @Call
:nCALL
:z3
\i\p\aNotes\v@Call--Notes\v\i\p  \i\p\aExamples\v@Call--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bCALL\p

Calls one batch program from another without causing the parent batch
program to stop. After the called batch file exits, control immediately
returns to the parent batch file and the parent batch file continues.

\bSyntax\p

    CALL [drive:][path] filename [batch-parameters]

\bParameters\p

[drive:][path] filename
    Specifies the location and name of the batch program you want to call.
    Filename must have a .BAT extension.

batch-parameters
    Specifies any command-line information required by the batch program.

                                      
.context Call--Notes
.context @Call--Notes
:nCALL--Notes
:z3
\i\p\aExamples\v@Call--Examples\v\i\p  \i\p\aSyntax\v@Call\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bCALLÄÄNotes\p

\bUsing batch-parameters\p

Batch-parameters can contain any information that you can pass to a batch
program, including switches, filenames, the replaceable parameters %1
through %9, and environment variables such as %baud%.

\bUsing pipes and redirection symbols\p

Do not use pipes ("|") and redirection symbols ("<<","<",">", and ">>") with
the CALL command.

\bMaking a recursive call\p

You can create a batch program that calls itself; however, you must provide
an exit command. Otherwise, the parent and child batch programs can loop
endlessly.
                                      
.context Call--Examples
.context @Call--Examples
:nCALL--Examples
:z3
\i\p\aSyntax\v@Call\v\i\p  \i\p\aNotes\v@Call--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bCALLÄÄExamples\p

To run the CHECKNEW.BAT program from another batch program, include the
following command in the parent batch program:

    call checknew

Suppose the parent batch program accepts two replaceable parameters and you
want it to pass those parameters to CHECKNEW.BAT. You can use the following
command in the parent batch program:

    call checknew %1 %2

                                      
.context Chcp
.context @Chcp
:nCHCP
:z3
\i\p\aNotes\v@Chcp--Notes\v\i\p  \i\p\aExamples\v@Chcp--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bCHCP\p

Displays the number of the active code page, or changes the active code page
that MS-DOS is to use for all devices that support code-page switching to
one of the two prepared system code pages associated with your current
country setting. You must install the \i<\p\aNLSFUNC\v@NLSFUNC\v\i>\p program before you can use
the CHCP command.

For an introduction to using code pages and the chcp command, see the
"Customizing For International Use" chapter in the Microsoft MS-DOS User's
Guide.

\bSyntax\p

    CHCP [nnn]

To display the number of the active code page, use the following syntax:

    CHCP

\bParameter\p

nnn
    Specifies the prepared system code pages defined by the COUNTRY command
    in the CONFIG.SYS file. The following list shows each code page that
    MS-DOS supports and its country or language:

    437    United States

    850    Multilingual (Latin I)

    852    Slavic (Latin II)

    860    Portuguese

    863    Canadian-French

    865    Nordic

\bRelated Commands\p

For more information about code pages, see the \i<\p\aCOUNTRY\v@Country\v\i>\p, \i<\p\aNLSFUNC\v@NLSFUNC\v\i>\p, and
\i<\p\aMODE (set device code pages)\v@MODE (Set Device Code Pages)\v\i>\p commands.

                                      
.context Chcp--Notes
.context @Chcp--Notes
:nCHCP--Notes
:z3
\i\p\aExamples\v@Chcp--Examples\v\i\p  \i\p\aSyntax\v@Chcp\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bCHCPÄÄNotes\p

\bRequirements for using the CHCP command\p

Before you can use the CHCP command, you must specify the location of the
COUNTRY.SYS file by using the COUNTRY command and load the Nlsfunc program
into memory.

\bAssigning a new code page\p

After you assign a new code page, any program you start uses that new code
page. However, any program (not including COMMAND.COM) that you started
before assigning the new code page will probably attempt to use the original
code page.
                                      
.context Chcp--Examples
.context @Chcp--Examples
:nCHCP--Examples
:z3
\i\p\aSyntax\v@Chcp\v\i\p  \i\p\aNotes\v@Chcp--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bCHCPÄÄExamples\p

To view the active code-page setting, type the following command:

    chcp

MS-DOS responds with a message similar to the following:

    Active code page: 437

To change the active code page to 850 (Multilingual), type the following
command:

    chcp 850

MS-DOS alerts you if the specified code page has not been prepared for your
system. The following error message appears:

    Invalid code page

If a device (screen, keyboard, printer) is not prepared for a code page,
MS-DOS displays an error message in the following format:

    Code page 850 not prepared for device nnn

                                      
.context @CHDIR (CD)
.context cd
.context chdir
.context CHDIR (CD)
:nChdir (cd)
:z3
\i\p\aNotes\v@Chdir--Notes\v\i\p  \i\p\aExamples\v@Chdir--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bCHDIR (CD)\p

Displays the name of the current directory or changes the current
directory.

\bSyntax\p

    CHDIR [drive:][path]

    CHDIR[..]

    CD [drive:][path]

    CD[..]

To display the current drive letter and directory name, use either of the
following syntax lines:

    CHDIR

    CD

\bParameters\p

[drive:][path]
    Specifies the drive (if other than the current drive) and directory to
    which you want to change.

 ..
    Specifies that you want to change to the parent directory.

                                      
.context Chdir--Notes
.context @Chdir--Notes
:nCHDIR--Notes
:z3
\i\p\aExamples\v@Chdir--Examples\v\i\p  \i\p\aSyntax\v@CHDIR (CD)\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bCHDIRÄÄNotes\p

\bChanging to the root directory\p

The root directory is the top of the directory hierarchy for a drive. To
return to the root directory, type the following command:

    cd \\

\bUsing the current directory from a different drive\p

If you are working in the \\PUBLIC\\JONES directory on drive C and you change
to drive D, you can copy files to and from the \\PUBLIC\\JONES directory by
specifying only the drive letter C.

\bChanging the directory on another drive\p

You can change the current directory on another drive by specifying the
drive letter on the command line when you use CHDIR.
                                      
.context Chdir--Examples
.context @Chdir--Examples
:nCHDIR--Examples
:z3
\i\p\aSyntax\v@CHDIR (CD)\v\i\p  \i\p\aNotes\v@Chdir--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bCHDIRÄÄExamples\p

Either of the following commands changes your current directory to the
directory named PRIMETIM:

    chdir \\primetim

    cd \\primetim

Suppose you have a directory named SPECIALS with a subdirectory named
SPONSORS. To change your current directory to \\SPECIALS\\SPONSORS, type the
following command:

    cd \\specials\\sponsors

Or, if your current directory is \\SPECIALS, you can use the following
command to change to the \\SPECIALS\\SPONSORS directory:

    cd sponsors

To change from a subdirectory back to the parent directory, type the
following command:

    cd..

To display the name of the current directory, you can use CHDIR or CD
without a parameter. For example, if your current directory is \\PUBLIC\\JONES
on the disk in drive B, type CHDIR to see the following response:

    B:\\PUBLIC\\JONES

If you are working on drive D and you want to copy all files in the
\\PUBLIC\\JONES and \\PUBLIC\\LEWIS directories on drive C to the root directory
on drive D, type the following commands:

    chdir c:\\public\\jones
    copy c:*.* d:\\
    chdir c:\\public\\lewis
    copy c:*.* d:\\

If, instead, you want to copy all files in the \\PUBLIC\\JONES and
\\PUBLIC\\LEWIS directories to your current location on drive D, type the
following commands:

    chdir c:\\public\\jones
    copy c:*.* d:
    chdir c:\\public\\lewis
    copy c:*.* d:

For more information on copying files, see the \i<\p\aCOPY\v@Copy\v\i>\p command.

                                      
.context Chkdsk
.context @Chkdsk
:nCHKDSK
:z3
\i\p\aNotes\v@Chkdsk--Notes\v\i\p  \i\p\aExamples\v@Chkdsk--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bCHKDSK\p

Creates and displays a status report for a disk, and fixes errors found on
the disk.

The status report shows logical errors found in the MS-DOS filing system,
which consists of the file allocation table and directories. (CHKDSK does
not verify that the information in your files can be accurately read.) If
errors exist on the disk, CHKDSK alerts you with a message. You should use
CHKDSK occasionally on each disk to check for errors.

\bSyntax\p

    CHKDSK [drive:][[path] filename] [/F] [/V]

To display the status of the disk in the current drive, use the following
syntax:

    CHKDSK

\bParameters\p

drive:
    Specifies the drive that contains the disk that you want CHKDSK to
    check.

[path] filename
    Specifies the location and name of a file or set of files that you want
    CHKDSK to check for fragmentation. You can use wildcards (* and ?) to
    specify multiple files.

\bSwitches\p

/F
    Fixes errors on the disk. Do not use this option when running CHKDSK
    from other programs such as Microsoft Windows or the MS-DOS Task
    Swapper. For more information, see "Using CHKDSK With Open Files" in
    \i<\p\aCHKDSKÄÄNotes\v@Chkdsk--Notes\v\i>\p.

/V
    Displays the name of each file in every directory as the disk is
    checked.

                                      
.context Chkdsk--Notes
.context @Chkdsk--Notes
:nCHKDSK--Notes
:z3
\i\p\aExamples\v@Chkdsk--Examples\v\i\p  \i\p\aSyntax\v@Chkdsk\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bCHKDSKÄÄNotes\p

\bFormat of status reports\p

MS-DOS displays CHKDSK status reports in the following format:

    Volume Serial Number is B1AF-AFBF
    
      72214528 bytes total disk space
         73728 bytes in 3 hidden files
         30720 bytes in 12 directories
      11493376 bytes in 386 user files
         61440 bytes in bad sectors
      60555264 bytes available on disk
    
          2048 bytes in each allocation unit
         35261 total allocation units on disk
         29568 available allocation units on disk
    
        655360 total bytes memory
        493456 bytes free

\bFixing disk errors\p

To fix disk errors, use the CHKDSK /F command. (CHKDSK corrects disk errors
only if you specify the /F switch.) CHKDSK /F will display a prompt similar
to the following:

    10 lost allocation units found in 3 chains.
    Convert lost chains to files?

If you press Y, MS-DOS saves each lost chain in the root directory as a file
with a name in the format FILEnnnn.CHK. When CHKDSK finishes, you can
examine these files to see if they contain any data you need. If you press
N, MS-DOS fixes the disk but does not save the contents of the lost
allocation units.

If you do not use the /F switch, CHKDSK alerts you with a message if a file
needs to be fixed but does not fix the error(s).

\bUsing CHKDSK with open files\p

Never use CHKDSK when files are currently open. CHKDSK is designed for use
when the files on the disk are in an unchanging state ÄÄ that is, when they
are not open. When a file is open, it is probably changing, and MS-DOS will
update the file allocation table and the directory structure to reflect
changes. Such updates are not always made immediately, and updates to the
file allocation table and the directories occur at different times. If you
run CHKDSK when files are open on the disk, it interprets differences
between the directory structure and the file allocation tables as errors.
Running CHKDSK /F when files are open can result in corruption or loss of
data. Therefore, never run CHKDSK /F from another program, or when Microsoft
Windows or the MS-DOS Task Swapper are running.

\bUsing CHKDSK with assigned drives and networks\p

The CHKDSK command does not work on drives formed by the SUBST command. You
cannot use CHKDSK to check a disk on a network drive.

\bPhysical disk errors\p

The CHKDSK command finds only logical errors in the file system, not
physical disk errors.

\bBad disk sectors\p

Bad sectors reported by CHKDSK were marked as "bad" when your disk was first
prepared for operation. Physical disk-error correction utilities can also
mark sectors as "bad." Bad sectors pose no danger.

\bSaving a CHKDSK status report to a file\p

You can save a CHKDSK status report by redirecting the output to a file. Do
not use the /F switch when you redirect CHKDSK output to a file.

                                      
.context Chkdsk--Examples
.context @Chkdsk--Examples
:nCHKDSK--Examples
:z3
\i\p\aSyntax\v@Chkdsk\v\i\p  \i\p\aNotes\v@Chkdsk--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bCHKDSKÄÄExamples\p

If you want to check the disk in drive A and have MS-DOS fix any errors
encountered, type the following command:

    chkdsk a: /f

CHKDSK pauses and displays messages if it encounters errors. Then CHKDSK may
prompt you to specify how you want MS-DOS to correct the errors. CHKDSK
finishes by displaying a report showing the status of the disk.

To redirect the output of CHKDSK to a file named STATUS, type the following
command:

    chkdsk a: > status

Because the output is redirected, MS-DOS does not repair errors it
encounters during the check; but it records all the errors in a report file.
Afterward, you can use CHKDSK with the /F switch without redirection to
correct any errors noted in the status report.

                                      
.context Choice
.context @Choice
:nCHOICE
:z3
\i\p\aNote\v@Choice--Note\v\i\p  \i\p\aExamples\v@Choice--Examples\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bCHOICE\p

Used in batch files to get user input. Using CHOICE, you can display a
specified prompt, pause for the user to choose from among a specified set of
keys, and return an ERRORLEVEL parameter to the batch program.

For more information on the ERRORLEVEL parameter, see \i<\p\aCHOICEÄÄNote\v@Choice--Note\v\i>\p and the
\i<\p\aIF\v@IF\v\i>\p command.

\bSyntax\p

    CHOICE [/C[:]keys] [/N] [/S] [/T[:]nn,c] [text]

\bParameters\p

text
    Specifies text you want to be displayed before the prompt. Quotation
    marks are only necessary if you include a switch character (\\) as part
    of the text before the prompt. If you don't specify text, CHOICE
    displays only a prompt.

\bSwitches\p

/C[:]keys
    Specifies allowable keys in the prompt. When displayed, the keys will be
    separated by commas, will appear in brackets ([]), and will be followed
    by a question mark. If you don't specify the /C switch, CHOICE uses YN
    as the default. The colon (:) is optional.

/N
    Causes CHOICE not to display the prompt. The text before the prompt is
    still displayed, however. If you specify the /N switch, the specified
    keys are still valid.

/S
    Causes CHOICE to be case sensitive. If the /S switch is not specified,
    CHOICE will accept either upper or lower case for any of the keys that
    the user specifies.

/Tc,nn
    Causes CHOICE to pause for a specified number of seconds before
    defaulting to a specified key. The values for the /T switch are as
    follows:

    c
        Specifies the character to default to after nn seconds. The
        character must be in the set of choices specified in the /C switch.

    nn
        Specifies the number of seconds to pause. Acceptable values are from
        0 to 99. If 0 is specified, there will be no pause before
        defaulting.

                                      
.context Choice--Note
.context @Choice--Note
:nCHOICE--Note
:z3
\i\p\aExamples\v@Choice--Examples\v\i\p  \i\p\aSyntax\v@Choice\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bCHOICEÄÄNote\p

\bERRORLEVEL Parameters\p

The first key you assign returns a value of 1, the second a value of 2, the
third a value of 3, and so on. If the user presses a key which is not among
the keys you assigned, CHOICE sounds a warning beep (that is, it sends a
BEL, or 07h, character to the console).

If CHOICE detects an error condition, it returns an ERRORLEVEL value of 255.
If the user presses CTRL+BREAK or CTRL+C, CHOICE returns an ERRORLEVEL value
of 0.

                                      
.context Choice--Examples
.context @Choice--Examples
:nCHOICE--Examples
:z3
\i\p\aSyntax\v@Choice\v\i\p  \i\p\aNote\v@Choice--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bCHOICEÄÄExamples\p

\bWhat the user sees when you use CHOICE in a batch file\p

If you use the following syntax in a batch file,

    choice /c:ync

the user sees the following when CHOICE is started:

    [Y,N,C]?

If you add text to the syntax,

    choice /c:ync Yes, No, or Continue

the user will see the following when CHOICE is started:

    Yes, No, or Continue[Y,N,C]?

\bWhat the user sees if you leave out a prompt\p

If, as in the following example, you use the /N switch to leave out the
prompt in a batch program,

    choice /n Yes, No, or Continue?

the user sees only the text you specified when CHOICE is started:

    Yes, No, or Continue?

\bWhat the user sees if you use the T switch\p

If you use the following syntax in a batch program,

    choice /c:ync /t:5,n

the user sees the following when CHOICE is started:

    [Y,N,C]?

If, after 5 seconds, the user hasn't pressed a key, CHOICE chooses N and
returns an ERRORLEVEL value of 1. If the user presses a key before 5
seconds, CHOICE returns the value corresponding to the user's choice.

\bUsing CHOICE in a batch program\p

The following batch program demonstrates using the CHOICE option to select
one of three programs: Edit, MSAV, or Defrag.

    echo off
    cls
    echo.
    echo A  Run Edit
    echo B  Run MSAV
    echo C  Run Defrag
    echo.
    choice /c:abc Choose an option
    if errorlevel 2 goto Defrag
    if errorlevel 1 goto MSAV

    edit
    goto End

    :MSAV
    msav
    goto End

    :Defrag
    defrag
    :End

                                      
.context Cls
.context @Cls
:nCLS
:z3
                                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bCLS\p

Clears the screen.

The cleared screen shows only the command prompt and cursor.

\bSyntax\p

    CLS

                                      
.context Command
.context @Command
:nCOMMAND
:z3
\i\p\aNotes\v@Command--Notes\v\i\p  \i\p\aExamples\v@Command--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bCOMMAND\p

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

A command interpreter is a program that displays the command prompt at which
you type commands. Use the EXIT command to stop the new command interpreter
and return control to the old one.

\bSyntax\p

    COMMAND [[drive:]path] [device] [/Cstring] [/E:nnnnn] [/K:filename]
            [/P [/MSG]]

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

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

\bParameters\p

[drive:]path
    Specifies where 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.

device
    Specifies a different device for command input and output. For more
    information about this parameter, see the \i<\p\aCTTY\v@Ctty\v\i>\p command.

[dos-drive:]dos-path
    Specifies the location of COMMAND.COM.

\bSwitches\p

/C string
    Specifies that the command interpreter is to perform the command
    specified by string and then exit.

/E:nnnnn
    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:filename
    Runs the specified program or batch file and then displays the MS-DOS
    command prompt. This switch is particularly useful for specifying a
    startup file other than C:AUTOEXEC.BAT for the MS-DOS Prompt in Windows.
    (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.

/P
    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.

/MSG
    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 \i<\p\aCOMMANDÄÄNotes\v@Command--Notes\v\i>\p.

\bRelated Command\p

The \i<\p\aSHELL\v@SHELL\v\i>\p command is the preferred method of using COMMAND to permanently
increase space for the environment table.

                                      
.context Command--Notes
.context @Command--Notes
:nCOMMAND--Notes
:z3
\i\p\aExamples\v@Command--Examples\v\i\p  \i\p\aSyntax\v@Command\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bCOMMANDÄÄNotes\p

\bLimits on environment size\p

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.

\bChanging your terminal device\p

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
\i<\p\aCTTY\v@Ctty\v\i>\p command.

\bRunning multiple command interpreters\p

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.)

\bTransient and resident memory\p

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
COMMAND.COM.

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
programs.

\bUsing the /MSG switch\p

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
COMMAND.COM.

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.

\bInternal commands\p

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:

\i<\p\aBREAK\v@Break\v\i>\p            \i<\p\aECHO\v@Echo\v\i>\p              \i<\p\aREM\v@REM\v\i>\p
\i<\p\aCALL\v@Call\v\i>\p             \i<\p\aEXIT\v@EXIT\v\i>\p              \i<\p\aRENAME (REN)\v@RENAME (REN)\v\i>\p
\i<\p\aCHCP\v@Chcp\v\i>\p             \i<\p\aFOR\v@For\v\i>\p               \i<\p\aRMDIR (RD)\v@RMDIR (RD)\v\i>\p
\i<\p\aCHDIR (CD)\v@CHDIR (CD)\v\i>\p       \i<\p\aGOTO\v@GOTO\v\i>\p              \i<\p\aSET\v@SET\v\i>\p
\i<\p\aCLS\v@Cls\v\i>\p              \i<\p\aIF\v@IF\v\i>\p                \i<\p\aSHIFT\v@SHIFT\v\i>\p
\i<\p\aCOPY\v@Copy\v\i>\p             \i<\p\aLOADHIGH (LH)\v@LOADHIGH (LH)\v\i>\p     \i<\p\aTIME\v@TIME\v\i>\p
\i<\p\aCTTY\v@Ctty\v\i>\p             \i<\p\aMKDIR (MD)\v@MKDIR (MD)\v\i>\p        \i<\p\aTYPE\v@TYPE\v\i>\p
\i<\p\aDATE\v@Date\v\i>\p             \i<\p\aPATH\v@PATH\v\i>\p              \i<\p\aVER\v@VER\v\i>\p
\i<\p\aDEL (ERASE)\v@Del (Erase)\v\i>\p      \i<\p\aPAUSE\v@PAUSE\v\i>\p             \i<\p\aVERIFY\v@VERIFY\v\i>\p
\i<\p\aDIR\v@Dir\v\i>\p              \i<\p\aPROMPT\v@PROMPT\v\i>\p            \i<\p\aVOL\v@VOL\v\i>\p

                                      
.context Command--Examples
.context @Command--Examples
:nCOMMAND--Examples
:z3
\i\p\aSyntax\v@Command\v\i\p  \i\p\aNotes\v@Command--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bCOMMANDÄÄExamples\p

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.

                                      
.context Copy
.context @Copy
:nCOPY
:z3
\i\p\aNotes\v@Copy--Notes\v\i\p  \i\p\aExamples\v@Copy--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bCOPY\p

Copies one or more files to another location.

This command can also be used to combine files. When more than one file is
copied, MS-DOS displays each filename as the file is copied.

\bSyntax\p

    COPY [/A|/B] source [/A|/B] [+ source [/A|/B] [+ ...]][destination
    [/A|/B]] [/V]

\bParameters\p

source
    Specifies the location and name of a file or set of files from which you
    want to copy. Source can consist of a drive letter and colon, a
    directory name, a filename, or a combination.

destination
    Specifies the location and name of a file or set of files to which you
    want to copy. Destination can consist of a drive letter and colon, a
    directory name, a filename, or a combination.

\bSwitches\p

/A
    Indicates an ASCII text file. When the /A switch precedes the list of
    filenames on the command line, it applies to all files whose names
    follow the /A switch, until COPY encounters a /B switch, in which case
    the /B switch applies to the file whose name precedes the /B switch.

    When the /A switch follows a filename, it applies to the file whose name
    precedes the /A switch and to all files whose names follow the /A
    switch, until COPY encounters a /B switch, in which case the /B switch
    applies to the file whose name precedes the /B switch.

    An ASCII text file can use an end-of-file character (CTRL+Z) to indicate
    the end of the file. When combining files, COPY treats files as ASCII
    text files by default.

/B
    Indicates a binary file. When the /B switch precedes the list of
    filenames on the command line, it applies to all files whose names
    follow the /B switch, until COPY encounters an /A switch, in which case
    the /A switch applies to the file whose name precedes the /A switch.

    When the /B switch follows a filename, it applies to the file whose name
    precedes the /B switch and to all files whose names follow the /B
    switch, until COPY encounters an /A switch, in which case the /A switch
    applies to the file whose name precedes the /A switch.

    The /B switch specifies that the command interpreter is to read the
    number of bytes specified by the file size in the directory. The /B
    switch is the default value for COPY unless COPY is combining files.

/V
    Verifies that new files are written correctly.

\bRelated Command\p

For information about copying directories and subdirectories, see the
\i<\p\aXCOPY\v@XCOPY\v\i>\p command.

                                      
.context Copy--Notes
.context @Copy--Notes
:nCOPY--Notes
:z3
\i\p\aExamples\v@Copy--Examples\v\i\p  \i\p\aSyntax\v@Copy\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bCOPYÄÄNotes\p

\bCopying to and from devices\p

You can substitute a device name for one or more occurrences of source or
for destination.

\bUsing or omitting the /B switch when copying to a device\p

When destination is a device (for example, COM1 or LPT1), the /B switch
causes MS-DOS to copy data to the device in binary mode. In binary mode, all
characters (including such special characters as CTRL+C, CTRL+S, CTRL+Z, and
carriage return) are copied to the device as data. Whereas, omission of the
/B switch causes MS-DOS to copy data to the device in ASCII mode. In ASCII
mode, such special characters as those previously listed may cause MS-DOS to
take special action during the copying process.

\bUsing the default destination file\p

If you do not specify a destination file, MS-DOS creates a copy with the
same name, creation date, and creation time as the original file, placing
the new copy in the current directory on the current drive. If the source
file is on the current drive and in the current directory and you do not
specify a different drive or directory for the destination file, the COPY
command stops and MS-DOS displays the following error message:

    File cannot be copied onto itself
    0 File(s) copied

\bUsing the /V switch\p

If MS-DOS cannot verify a write operation, it displays an error message.
Although recording errors rarely occur with the COPY command, the /V switch
lets you verify that critical data has been correctly recorded. The /V
switch also slows down the COPY command, because MS-DOS must check each
sector recorded on the disk.

\bUsing the /A and /B switches\p

The effect of an /A or /B switch depends upon its position on the command
line. When the /A or /B switch follows the source filename, COPY performs as
shown in the following list:

/A
    Treats the file as an ASCII (text) file and copies data that precedes
    the first end-of-file character. COPY does not copy the first
    end-of-file character or the remainder of the file.

/B
    Copies the entire file, including any end-of-file character.

When the /A or /B switch follows the destination filename, COPY performs as
shown in the following list:

/A
    Adds an end-of-file character as the last character of the file.

/B
    Does not add an end-of-file character.

\bCombining files with the COPY command\p

If you specify more than one source, separating entries with a plus sign
(+), COPY combines the files, creating a single file. If you use wildcards
in source but specify a single filename in destination, COPY combines all
files matching the filename in source and creates a single file with the
filename specified in destination.

In either case, COPY assumes the combined files are ASCII files unless you
specify the /B switch. (Do not combine non-ASCII files without specifying
the /B switch; doing so can result in truncated files, since most binary
files contain CTRL+Z characters which cause COPY to behave as if it has
reached the end of the file.)

If the name of the destination file is the same as the name of one of the
files being copied (except the first file), the original contents of the
destination file are lost. When this happens, COPY displays the following
message:

    Content of destination lost before copy

\bCopying files in subdirectories\p

To copy all of a directory's files and subdirectories, you should use the
XCOPY command.

\bCopying zero-length files\p

COPY does not copy files that are 0 bytes long. Use XCOPY to copy these
files.

\bChanging the time and date of a file\p

If you want to assign the current time and date to a file without modifying
the file, use a command in the following format. The commas indicate the
omission of the destination parameter.

    copy /b source+,,
                                      
.context Copy--Examples
.context @Copy--Examples
:nCOPY--Examples
:z3
\i\p\aSyntax\v@Copy\v\i\p  \i\p\aNotes\v@Copy--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bCOPYÄÄExamples\p

The following command copies a file and ensures that an end-of-file
character is at the end of the copied file:

    copy memo.doc letter.doc /a

To copy a file named ROBIN.TYP from the current drive and directory to an
existing directory named BIRDS that is located on drive C, type the
following command:

    copy robin.typ c:\\birds

If the BIRDS directory doesn't exist, MS-DOS copies the file ROBIN.TYP into
a file named BIRDS that is located in the root directory on the disk in
drive C.

To copy several files into one file, list any number of files as source
parameters on the COPY command line. Separate filenames with a plus sign (+)
and specify a filename for the resulting combined file, as the following
example shows:

    copy mar89.rpt + apr89.rpt + may89.rpt report

This command combines the files named MAR89.RPT, APR89.RPT, and MAY89.RPT
from the current drive and directory and places them in a file named REPORT
in the current directory on the current drive. When files are combined, the
destination file is created with the current date and time. If you omit
destination, MS-DOS combines the files and stores them under the name of the
first specified file. For example, if a file named REPORT already exists,
you can use the following command to combine all four files in REPORT:

    copy report + mar89.rpt + apr89.rpt + may89.rpt

You can also combine several files into one by using wildcards, as the
following example shows:

    copy *.txt combin.doc

This command combines all files in the current directory on the current
drive that have the extension .TXT into one file named COMBIN.DOC, also in
the current directory on the current drive.

If you want to combine several binary files into one by using wildcards,
include the /B switch, as the following example shows:

    copy /b *.exe combin.exe

This prevents MS-DOS from treating CTRL+Z as an end-of-file character.

\bCAUTION:\p  If you combine binary files, the resulting file might not be
          usable due to internal formatting.

In the following example, COPY combines each file that has a .TXT extension
with its corresponding .REF file. The result is a file with the same
filename but with a .DOC extension. Thus, COPY combines FILE1.TXT with
FILE1.REF to form FILE1.DOC. Then COPY combines FILE2.TXT with FILE2.REF to
form FILE2.DOC, and so on.

    copy *.txt + *.ref *.doc

The following COPY command combines first all files with the .TXT extension,
then all files with the .REF extension into one file named COMBIN.DOC:

    copy *.txt + *.ref combin.doc

\bCopying information from the keyboard\p

The following COPY command copies what  you type at the keyboard to the
OUTPUT.TXT file:

    copy con output.txt

After you type this command and pressing ENTER, MS-DOS copies everything you
type to the file OUTPUT.TXT. When you are finished typing, press CTRL+Z to
indicate that you want to end the file. The CTRL+Z character will appear on
the screen as "Z". You can also end a COPY CON command by pressing the F6
key. When you press F6, it generates the CTRL+Z character, which appears on
the screen as Z.

The following example copies information from the keyboard to the printer
connected to LPT1:

    copy con lpt1

                                      
.context Country
.context @Country
:nCOUNTRY
:z3
\i\p\aNotes\v@Country--Notes\v\i\p  \i\p\aExamples\v@Country--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bCOUNTRY\p

Enables MS-DOS to use international time, dates, currency, case conversions,
and decimal separators.

The COUNTRY command configures MS-DOS to recognize the character set and
punctuation conventions observed when using one of the supported languages.

\bSyntax\p

    COUNTRY=xxx[,[yyy][,[drive:][path] filename]]

\bParameters\p

xxx
    Specifies the country code.

yyy
    Specifies the code page for the country.

[drive:][path] filename
    Specifies the location and name of the file containing country
    information.

\bRelated Commands\p

For information about changing characters and their arrangement on your
keyboard, see the \i<\p\aKEYB\v@KEYB\v\i>\p command, or see "Customizing for International Use"
in the MS-DOS User's Guide.

For information about preparing and selecting code pages, see the
\i<\p\aMODE (set device code pages)\v@MODE (Set Device Code Pages)\v\i>\p command.

For information about loading country-specific information, see the
\i<\p\aNLSFUNC\v@NLSFUNC\v\i>\p command.

                                      
.context Country--Notes
.context @Country--Notes
:nCOUNTRY--Notes
:z3
\i\p\aExamples\v@Country--Examples\v\i\p  \i\p\aSyntax\v@Country\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bCOUNTRYÄÄNotes\p

\bChanging default settings\p

MS-DOS uses the United States as the default setting. You can use the
COUNTRY command in your CONFIG.SYS file to change the setting.

If you do not specify the location and name of the file containing
country-specific information, MS-DOS tries to find the COUNTRY.SYS file in
the root directory of your startup drive.

\bSpecifying supported languages\p

The following table lists each country or language supported by MS-DOS. The
table also lists the code pages you can use with each country code. For
example, if you use country code 003, you can use only code page 437 or 850
for the yyy parameter. The first of the two code pages listed for each
country or language is its default code page.

\bCountry or language    Country       Code pages
                       code          
\pÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

Belgium                032           850, 437

Brazil                 055           850, 437

Canadian-French        002           863, 850

Czechoslovakia         042           852, 850

Denmark                045           850, 865

Finland                358           850, 437

France                 033           850, 437

Germany                049           850, 437

Hungary                036           852, 850

International          061           437, 850
English                              

Italy                  039           850, 437

Latin America          003           850, 437

Netherlands            031           850, 437

Norway                 047           850, 865

Poland                 048           852, 850

Portugal               351           850, 860

Spain                  034           850, 437

Sweden                 046           850, 437

Switzerland            041           850, 437

United Kingdom         044           437, 850

United States          001           437, 850

Yugoslavia             038           852, 850

Code pages for the following countries or languages are also available with
special versions of MS-DOS: Arabic, Israel, Japan, Korea, People's Republic
of China, and Taiwan.

\bSpecifying international time and date formats\p

The country code specifies the time and date formats used by the following
MS-DOS commands: BACKUP, DATE, RESTORE, and TIME.

The following table lists the date and time formats related to each country
code. For each country code, the "Date format" column shows how MS-DOS
displays January 3, 1991, and the "Time format" column shows how MS-DOS
displays 5:35 P.M. (with 0 seconds and 0 hundredths of a second).

\bCountry or language    Country       Date         Time format
                       code          format       
\pÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

Belgium                032           23/01/1991   17:35:00

Brazil                 055           23/01/1991   17:35:00

Canadian-French        002           1991-01-23   17:35:00

Czechoslovakia         042           1991-01-23   17:35:00

Denmark                045           23-01-1991   17.35.00

Finland                358           23.01.1991   17.35.00

France                 033           23.01.1991   17:35:00

Germany                049           23.01.1991   17:35:00

Hungary                036           1991-01-23   17:35:00

International          061           23-01-1991   5:35:00.00p
English                                           

Italy                  039           23/01/1991   17.35.00

Latin America          003           23/01/1991   5:35:00.00p

Netherlands            031           23-01-1991   17:35:00

Norway                 047           23.01.1991   17:35:00

Poland                 048           1991-01-23   17:35:00

Portugal               351           23-01-1991   17:35:00

Spain                  034           23/01/1991   17:35:00

Sweden                 046           1991-01-23   17.35.00

Switzerland            041           23.01.1991   17,35,00

United Kingdom         044           23/01/1991   17:35:00.00

United States          001           01-23-1991   5:35:00.00p

Yugoslavia             038           1991-01-23   17:35:00

Code pages for the following countries or languages are also available with
special versions of MS-DOS: Arabic, Israel, Japan, Korea, People's Republic
of China, and Taiwan.

                                      
.context Country--Examples
.context @Country--Examples
:nCountry--Examples
:z3
\i\p\aSyntax\v@Country\v\i\p  \i\p\aNotes\v@Country--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bCOUNTRYÄÄExamples\p

To convert international currency, time, date, and case to French
conventions, add the following command to your CONFIG.SYS file:

    country=033

For this example, assume that the COUNTRY.SYS file is in the root directory
of the startup drive. If COUNTRY.SYS is in a different location, you specify
the location in [drive:]path on the command line.

To specify a code page with the country code for France, type the
following:

    country=033,850

If you omit the code page but include the [drive:][path] filename parameter,
you must still type the comma that would have preceded the code page, as the
following example shows:

    country=033,,c:\\dos\\country.sys

                                      
.context Ctty
.context @Ctty
:nCTTY
:z3
\i\p\aNotes\v@Ctty--Notes\v\i\p  \i\p\aExamples\v@Ctty--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bCTTY\p

Changes the terminal device used to control your system.

Use the CTTY command if you want to use another device to enter commands.

\bSyntax\p

    CTTY device

\bParameter\p

device
    Specifies the alternative device you want to use to type MS-DOS. Valid
    values for the device parameter are PRN, LPT1, LPT2, LPT3, CON, AUX,
    COM1, COM2, COM3, and COM4.

\bRelated Commands\p

For more information about changing the input device when specifying a
command interpreter, see the \i<\p\aCOMMAND\v@Command\v\i>\p command.
                                      
.context Ctty--Notes
.context @Ctty--Notes
:nCTTY--Notes
:z3
\i\p\aExamples\v@Ctty--Examples\v\i\p  \i\p\aSyntax\v@Ctty\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bCTTYÄÄNotes\p

\bSetting up the serial port for CTTY\p

Use the MODE command to set up your serial port for baud rate, parity, bits,
and stop bit before using the CTTY command.

\bUsing CTTY with programs that do not use MS-DOS\p

Many programs do not use MS-DOS for input or output. These programs send
input directly to the hardware on your computer. The CTTY command has no
effect on these programs; it affects only programs that use MS-DOS for
reading keyboard input and displaying output.

\bSetting the terminal device with command\p

In addition to the CTTY command, you can use the device parameter of the
COMMAND command to specify the input device.
                                      
.context Ctty--Examples
.context @Ctty--Examples
:nCTTY--Examples
:z3
\i\p\aSyntax\v@Ctty\v\i\p  \i\p\aNotes\v@Ctty--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bCTTYÄÄExamples\p

The following command changes control of all input and output from the
current device (your computer screen and keyboard) to the AUX port:

    ctty aux

In this example, a remote terminal device connected to the AUX port controls
input and output for your system.

To transfer input and output back to the screen and keyboard, type the
following command at the remote terminal:

    ctty con

                                      
.context Date
.context @Date
:nDATE
:z3
\i\p\aNotes\v@Date--Notes\v\i\p                                                                     
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bDATE\p

Displays the date or allows you to change the date from your terminal or
from a batch program.

MS-DOS records the current date for each file you create or change; this
date is listed next to the filename in the directory.

\bSyntax\p

    DATE [mm-dd-yy]

\bParameter\p

mm-dd-yy
    Sets the date you specify. Values for day, month, and year must be
    separated by periods (.), hyphens (-), or slash marks (/). The date
    format depends on the COUNTRY setting you are using in your CONFIG.SYS
    file. The following list shows the valid values for the month, day, and
    year portions of the mm-dd-yy parameter.

    mm    1 through 12

    dd    1 through 31

    yy    80 through 99    or    1980 through 2099

\bRelated Command\p

For information about changing the current time, see the \i<\p\aTIME\v@TIME\v\i>\p command.

                                      
.context Date--Notes
.context @Date--Notes
:nDATE--Notes
:z3
\i\p\aSyntax\v@Date\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bDATEÄÄNotes\p

\bAdjusting for days in a month\p

MS-DOS is programmed to change months and years correctly, whether the month
has 28, 29, 30, or 31 days.

\bUsing the DATE command in your AUTOEXEC.BAT file\p

When you use an AUTOEXEC.BAT file, MS-DOS does not automatically display a
prompt for a date when you start your system. To prompt users for the date
every time the system is restarted, include the DATE command in
AUTOEXEC.BAT.

\bChanging the date format\p

It is possible to change the mm-dd-yy format to display the date in other
formats. You can add the COUNTRY command to your CONFIG.SYS file to change
the date format to the European standard (dd-mm-yy) or to the Scientific
International (Metric) format (yy-mm-dd).

                                      
.context DBLSPACE
.context @DBLSPACE
:nDBLSPACE
:z3
\i\p\aExample\v@DBLSPACE--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bDBLSPACE\p

This topic will explain the DBLSPACE command, which starts the DoubleSpace
disk-compression program.

                                      
.context DBLSPACE--Example
.context @DBLSPACE--Example
:nDBLSPACE--Example
:z3
\i\p\aSyntax\v@DBLSPACE\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDBLSPACEÄÄExample\p

This topic will provide examples of how to use the DBLSPACE command.

                                      
.context DBLSPACE.SYS
.context @DBLSPACE.SYS
:nDBLSPACE.SYS
:z3
\i\p\aExample\v@DBLSPACE.SYS--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bDBLSPACE.SYS\p

This topic will explain the DBLSPACE.SYS device driver, which makes
compressed drives available.

                                      
.context DBLSPACE.SYS--Example
.context @DBLSPACE.SYS--Example
:nDBLSPACE.SYS--Example
:z3
\i\p\aSyntax\v@DBLSPACE.SYS\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                           \bDBLSPACE.SYSÄÄExample\p

This topic will provide an example of how to load the DBLSPACE.SYS device
driver, which makes compressed drives available.

The following command loads the DBLSPACE.SYS device driver...

                                      
.context Debug
.context @Debug
:nDEBUG
:z3
\i\p\aNotes\v@Debug--Notes\v\i\p                                                                     
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bDEBUG\p

Starts Debug, a program that allows you to test and debug executable files.

\bSyntax\p

    DEBUG [[drive:][path] filename [testfile-parameters]]

\bParameters\p

[drive:][path] filename
    Specifies the location and name of the executable file you want to
    test.

testfile-parameters
    Specifies any command-line information required by the executable file
    you want to test.

\bRelated Topics\p

The following commands are Debug commands:

\i<\p\aA (Assemble)\v@Debug: A\v\i>\p            \i<\p\aP (Proceed)\v@Debug: P\v\i>\p
\i<\p\aC (Compare)\v@Debug: C\v\i>\p             \i<\p\aQ (Quit)\v@Debug: Q\v\i>\p
\i<\p\aD (Dump)\v@Debug: D\v\i>\p                \i<\p\aR (Register)\v@Debug: R\v\i>\p
\i<\p\aE (Enter)\v@Debug: E\v\i>\p               \i<\p\aS (Search)\v@Debug: S\v\i>\p
\i<\p\aF (Fill)\v@Debug: F\v\i>\p                \i<\p\aT (Trace)\v@Debug: T\v\i>\p
\i<\p\aG (Go)\v@Debug: G\v\i>\p                  \i<\p\aU (Unassemble)\v@Debug: U\v\i>\p
\i<\p\aH (Hex)\v@Debug: H\v\i>\p                 \i<\p\aW (Write)\v@Debug: W\v\i>\p
\i<\p\aI (Input)\v@Debug: I\v\i>\p              \i<\p\aXA (Allocate Expanded Memory)\v@Debug: XA\v\i>\p
\i<\p\aL (Load)\v@Debug: L\v\i>\p               \i<\p\aXD (Deallocate Expanded Memory)\v@Debug: XD\v\i>\p
\i<\p\aM (Move)\v@Debug: M\v\i>\p               \i<\p\aXM (Map Extended Memory Pages)\v@Debug: XM\v\i>\p
\i<\p\aN (Name)\v@Debug: N\v\i>\p               \i<\p\aXS (Display Expanded Memory Status)\v@Debug: XS\v\i>\p
\i<\p\aO (Output)\v@Debug: O\v\i>\p

                                      
.context Debug--Notes
.context @Debug--Notes
:nDEBUG--Notes
:z3
\i\p\aSyntax\v@Debug\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bDEBUGÄÄNotes\p

\bUsing the DEBUG command without specifying a file to be tested\p

If you use the DEBUG command without a location and filename, you then type
all Debug commands in response to the Debug prompt, a hyphen (-).

\bDEBUG commands\p

The following is a list of Debug commands:

?    Displays a list of the Debug commands.

A   Assembles 8086/8087/8088 mnemonics.

C   Compares two portions of memory.

D   Displays the contents of a portion of memory.

E   Enters data into memory starting at a specified address.

F   Fills a range of memory with specified values.

G   Runs the executable file that is in memory.

H   Performs hexadecimal arithmetic.

I   Displays one byte value from a specified port.

L   Loads the contents of a file or disk sectors into memory.

M   Copies the contents of a block of memory.

N   Specifies a file for an L or W command, or specifies the parameters
    for the file you are testing.

O   Sends one byte value to an output port.

P   Executes a loop, a repeated string instruction, a software interrupt, or
    a subroutine.

Q   Stops the Debug session.

R   Displays or alters the contents of one or more registers.

S   Searches a portion of memory for a specified pattern of one or more byte
    values.

T   Executes one instruction and then displays the contents of all
    registers, the status of all flags, and the decoded form of the
    instruction that Debug will execute next.

U     Disassembles bytes and displays the corresponding source statements.

W   Writes the file being tested to a disk.

XA   Allocates expanded memory.

XD   Deallocates expanded memory.

XM   Maps expanded memory pages.

XS   Displays the status of expanded memory.

:m400
\bSeparating command parameters\p

All Debug commands accept parameters, except the Q command. You can separate
parameters with commas or spaces, but these separators are required only
between two hexadecimal values. Therefore, the following commands are
equivalent:

    dcs:100 110

    d cs:100 110

    d,cs:100,110

:m401
\bSpecifying valid address entries\p

An address parameter in a Debug command specifies a location in memory.
Address is a two-part designation containing either an alphabetic segment
register or a 4-digit segment address, plus an offset value. You can omit
the segment register or segment address. The default segment for the A, G,
L, T, U, and W commands is CS. The default segment for all other commands is
DS. All numeric values are in hexadecimal format.

The following are valid addresses:

    CS:0100

    04BA:0100

The colon between the segment name and the offset value is required.

:m401a
\bSpecifying valid range entries\p

A range parameter in a Debug command specifies a range of memory. You can
choose from two formats for range: a starting address and an ending address,
or a starting address and the length (denoted by L) of the range.

For example, both of the following syntaxes specify a 16-byte range
beginning at CS:100:

    cs:100 10f

    cs:100 l 10

                                      
.context Debug: A
.context @Debug: A
:nDEBUG: A (Assemble)
:z3
\i\p\aNotes\v@Debug: A--Notes\v\i\p  \i\p\aExamples\v@Debug: A--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bDEBUG: A (Assemble)\p

Assembles 8086/8087/8088 mnemonics directly into memory.

This command creates executable machine code from assembly-language
statements. All numeric values are in hexadecimal format, and you must type
them as 1 to 4 characters. You specify a prefix mnemonic in front of the
operation code (opcode) to which it refers.

\bSyntax\p

    A [address]

\bParameters\p

address
    Specifies the location where you type assembly-language mnemonics. You
    use hexadecimal values for address and type each value without the
    trailing "h" character. If you do not specify an address, A starts
    assembling where it last stopped.

\bRelated Commands\p

For information about entering data into specific bytes, see the
\i<\p\aDEBUG E (Enter)\v@Debug: E\v\i>\p command.

For information about disassembling bytes, see the \i<\p\aDEBUG U (Unassemble)\v@Debug: U\v\i>\p
command.

                                      
.context Debug: A--Notes
.context @Debug: A--Notes
:nDEBUG: A--Notes
:z3
\i\p\aExamples\v@Debug: A--Examples\v\i\p  \i\p\aSyntax\v@Debug: A\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: AÄÄNotes\p

\bUsing mnemonics\p

The segment-override mnemonics are CS:, DS:, ES:, and SS:. The mnemonic for
the far return is RETF. String-manipulation mnemonics must explicitly state
the string size. For example, use MOVSW to move word strings (16 bits), and
use MOVSB to move byte strings (8 bits).

:m402
\bAssembling jumps and calls\p

The assembler automatically assembles a short, near, or far jump or call,
depending on byte displacement, to the destination address. You can override
such a jump or call by using a NEAR or FAR prefix, as the following example
shows:

    -a0100:0500
    0100:0500 jmp  502        ; a 2-byte short jump
    0100:0502 jmp  near 505   ; a 3-byte near jump
    0100:0505 jmp  far  50a   ; a 5-byte far jump

You can abbreviate the NEAR prefix to NE.

:m402b
\bDistinguishing word and byte memory locations\p

When an operand can refer to either a word memory location or a byte memory
location, you must specify the data type with the prefix WORD PTR or the
prefix BYTE PTR. Acceptable abbreviations are WO and BY, respectively. The
following example shows the two formats:

    dec     wo [si]

    neg     byte ptr [128]

:m402c
\bSpecifying operands\p

Debug uses the common convention that an operand enclosed in brackets ([ ])
refers to a memory location. This is because Debug cannot otherwise
differentiate between an immediate operand and an operand that is a memory
location. The following example shows the two formats:

    mov     ax,21     ; load AX with 21h
    mov     ax,[21]   ; load AX with the
                      ; contents of
                      ; memory location 21h

:m402a
\bUsing pseudoinstructions\p

Two popular pseudoinstructions are available with the A command: the DB
opcode, which assembles byte values directly into memory, and the DW opcode,
which assembles word values directly into memory. Following are examples of
both pseudoinstructions:

    db      1,2,3,4,"THIS IS AN EXAMPLE"
    db      'THIS IS A QUOTATION MARK: "'
    db      "THIS IS A QUOTATION MARK: '"
    
    dw      1000,2000,3000,"BACH"

                                      
.context Debug: A--Examples
.context @Debug: A--Examples
:nDEBUG: A--Examples
:z3
\i\p\aSyntax\v@Debug: A\v\i\p  \i\p\aNotes\v@Debug: A--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: AÄÄExamples\p

The A command supports all forms of register-indirect commands, as the
following example shows:

    add     bx,34[bp+2].[si-1]
    pop     [bp+di]
    push    [si]

All opcode synonyms are also supported, as the following example shows:

    loopz   100
    loope   100
    
    ja      200
    jnbe    200

For 8087 opcodes, you must specify the WAIT or FWAIT prefix, as the
following example shows:

    fwait fadd st,st(3)       ; this line assembles
                              ; an fwait prefix

                                      
.context Debug: C
.context @Debug: C
:nDEBUG: C (Compare)
:z3
\i\p\aNote\v@Debug: C--Note\v\i\p  \i\p\aExample\v@Debug: C--Example\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: C (Compare)\p

Compares two portions of memory.

\bSyntax\p

    C range address

\bParameters\p

range
    Specifies the starting and ending addresses, or the starting address and
    length, of the first area of memory you want to compare. For information
    about valid range values, see the \i<\p\aDEBUG\v@Debug\v\i>\p command.

address
    Specifies the starting address of the second area of memory you want to
    compare. For information about valid address values, see the \i<\p\aDEBUG\v@Debug\v\i>\p
    command.

                                      
.context Debug: C--Note
.context @Debug: C--Note
:nDEBUG: C--Note
:z3
\i\p\aExample\v@Debug: C--Example\v\i\p  \i\p\aSyntax\v@Debug: C\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDEBUG: CÄÄNote\p

If the range and address memory areas are identical, Debug displays nothing
and returns directly to the Debug prompt. If there are differences, Debug
displays them in the following format:

address1 byte1 byte2 address2

                                      
.context Debug: C--Example
.context @Debug: C--Example
:nDEBUG: C--Example
:z3
\i\p\aSyntax\v@Debug: C\v\i\p  \i\p\aNote\v@Debug: C--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: CÄÄExample\p

The following commands have the same effect:

    c100,10f 300

    c100l10 300

Each command compares the block of memory from 100h through 10Fh with the
block of memory from 300h through 30Fh.

Debug responds to either of the previous commands with a display similar to
the following (assuming DS = 197F):

    197F:0100 4D E4 197F:0300
    197F:0101 67 99 197F:0301
    197F:0102 A3 27 197F:0302
    197F:0103 35 F3 197F:0303
    197F:0104 97 BD 197F:0304
    197F:0105 04 35 197F:0305
    197F:0107 76 71 197F:0307
    197F:0108 E6 11 197F:0308
    197F:0109 19 2C 197F:0309
    197F:010A 80 0A 197F:030A
    197F:010B 36 7F 197F:030B
    197F:010C BE 22 197F:030C
    197F:010D 83 93 197F:030D
    197F:010E 49 77 197F:030E
    197F:010F 4F 8A 197F:030F

Notice that the addresses 197F:0106 and 197F:0306 are missing from the list.
This means that the values in those addresses are identical.

                                      
.context Debug: D
.context @Debug: D
:nDEBUG: D (Dump)
:z3
\i\p\aNote\v@Debug: D--Note\v\i\p  \i\p\aExamples\v@Debug: D--Examples\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: D (Dump)\p

Displays the contents of a range of memory addresses.

\bSyntax\p

    D [range]

\bParameter\p

range
    Specifies the starting and ending addresses, or the starting address and
    length, of the memory area whose contents you want to display. For
    information about valid range values, see the \i<\p\aDEBUG\v@Debug\v\i>\p command. If you do
    not specify range, Debug displays the contents of 128 bytes, starting at
    the end of the address range specified in the previous D command.

\bRelated Commands\p

For information about displaying the contents of registers, see the
\i<\p\aDEBUG R (Register)\v@Debug: R\v\i>\p command.

For information about disassembling bytes, see the \i<\p\aDEBUG U (Unassemble)\v@Debug: U\v\i>\p
command.

                                      
.context Debug: D--Note
.context @Debug: D--Note
:nDEBUG: D--Note
:z3
\i\p\aExamples\v@Debug: D--Examples\v\i\p  \i\p\aSyntax\v@Debug: D\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDEBUG: DÄÄNote\p

When you use the D command, Debug displays memory contents in two portions:
a hexadecimal portion (each byte value is shown in hexadecimal format) and
an ASCII portion (each byte value is shown as an ASCII character). Each
nonprinting character is denoted by a period (.) in the ASCII portion of the
display. Each display line shows the contents of 16 bytes, with a hyphen
between the eighth and ninth bytes. Each display line begins on a 16-byte
boundary.

                                      
.context Debug: D--Examples
.context @Debug: D--Examples
:nDEBUG: D--Examples
:z3
\i\p\aSyntax\v@Debug: D\v\i\p  \i\p\aNote\v@Debug: D--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: DÄÄExamples\p

Suppose you type the following command:

    dcs:100 10f

Debug displays the the contents of the range in the following format:

    04BA:0100 54 4F 4D 00 53 41 57 59-45 52 00 00 00 00 00 00
    TOM.SAWYER......

If you type the D command without parameters, Debug formats the display as
described in the previous example. Each line of the display begins with an
address that is 16 bytes greater than the address on the previous line (or 8
bytes if you have a 40-column screen).

For each subsequent command you type without parameters, Debug displays the
bytes immediately following those last displayed.

If you type the following command, Debug displays the contents of 20h bytes,
starting at CS:100:

    dcs:100 l 20

If you type the following command, Debug displays the contents of all bytes
in the range of lines from 100h through 115h in the CS segment:

    dcs:100 115

                                      
.context Debug: E
.context @Debug: E
:nDEBUG: E (Enter)
:z3
\i\p\aNotes\v@Debug: E--Notes\v\i\p  \i\p\aExamples\v@Debug: E--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: E (Enter)\p

Enters data into memory at the address you specify.

You can type data in either hexadecimal or ASCII format. Any data previously
stored at the specified address is lost.

\bSyntax\p

    E address [list]

\bParameters\p

address
    Specifies the first memory location where you want to enter data.

list Specifies the data you want to enter into successive bytes of memory.

\bRelated Commands\p

For information about assembling mnemonics, see the \i<\p\aDEBUG A (Assemble)\v@Debug: A\v\i>\p
command.

For information about displaying the contents of a portion of memory, see
the \i<\p\aDEBUG D (Dump)\v@Debug: D\v\i>\p command.

                                      
.context Debug: E--Notes
.context @Debug: E--Notes
:nDEBUG: E--Notes
:z3
\i\p\aExamples\v@Debug: E--Examples\v\i\p  \i\p\aSyntax\v@Debug: E\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: EÄÄNotes\p

\bUsing the address parameter\p

If you specify a value for address without specifying a value for the
optional list parameter, Debug displays the address and its contents,
repeats the address on the next line, and waits for your input. At this
point, you can perform one of the following actions:

  Replace the byte value. To do this, you type a new value after the
   current value. If the value you type is not a valid hexadecimal value or
   if it contains more than two digits, Debug does not echo the invalid or
   extra character.

  Advance to the next byte. To do this, you press the SPACEBAR. To change
   the value in that byte, type a new value after the current value. If you
   move beyond an 8-byte boundary when you press the SPACEBAR, Debug starts
   a new display line and displays the new address at the beginning of the
   line.

  Return to the preceding byte. To do this, you press the HYPHEN key. You
   can press the HYPHEN key repeatedly to move back more than 1 byte. When
   you press HYPHEN, Debug starts a new line and displays the current
   address and byte value.

  Stop the E command. To do this, you press the ENTER key. You can press
   ENTER at any byte position.

\bUsing the list parameter\p

If you specify values for the list parameter, the E command sequentially
replaces the existing byte values with the values from the list. If an error
occurs, no byte values are changed.

List values can be either hexadecimal byte values or strings. You separate
values by using a space, a comma, or a tab character. You must enclose
strings within single or double quotation marks.

                                      
.context Debug: E--Examples
.context @Debug: E--Examples
:nDEBUG: E--Examples
:z3
\i\p\aSyntax\v@Debug: E\v\i\p  \i\p\aNotes\v@Debug: E--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: EÄÄExamples\p

Suppose you type the following command:

    ecs:100

Debug displays the contents of the first byte in the following format:

    04BA:0100 EB._

To change this value to 41, type 41 at the cursor, as follows:

    04BA:0100 EB.41_

You can type consecutive byte values with one e command. Instead of pressing
ENTER after typing the new value, press the SPACEBAR. Debug displays the
next value. In this example, if you press the SPACEBAR three times, Debug
displays the following values:

    04BA:0100 EB.41  10. 00. BC._

To change the hexadecimal value BC to 42, type 42 at the cursor, as
follows:

    04BA:0100 EB.41  10. 00. BC.42_

Now suppose that you decide the value 10 should be 6F. To correct this
value, press the HYPHEN key twice to return to address 0101 (value 10).
Debug displays the following:

    04BA:0100 EB.41  10. 00. BC.42-
    04BA:0102  00.-
    04BA:0101  10._

Type 6f at the cursor to change the value, as follows:

    04BA:0101  10.6f_

Press ENTER to stop the e command and return to the Debug prompt.

The following is an example of a string entry:

    eds:100 "This is the text example"

This string will fill 24 bytes, starting at DS:100.

                                      
.context Debug: F
.context @Debug: F
:nDEBUG: F (Fill)
:z3
\i\p\aNotes\v@Debug: F--Notes\v\i\p  \i\p\aExample\v@Debug: F--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: F (Fill)\p

Fills addresses in the specified memory area with values you specify.

You can specify data in either hexadecimal or ASCII format. Any data you
previously stored at the specified address is lost.

\bSyntax\p

    F range list

\bParameters\p

range
    Specifies the starting and ending addresses, or the starting address and
    length, of the memory area you want to fill. For information about valid
    range values, see the \i<\p\aDEBUG\v@Debug\v\i>\p command.

list
    Specifies the data you want to enter. List can consist of hexadecimal
    numbers or a string enclosed in quotation marks.

                                      
.context Debug: F--Notes
.context @Debug: F--Notes
:nDEBUG: F--Notes
:z3
\i\p\aExample\v@Debug: F--Example\v\i\p  \i\p\aSyntax\v@Debug: F\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: FÄÄNotes\p

\bUsing the range parameter\p

If range contains more bytes than the number of values in list, Debug
assigns the values in list repeatedly until all bytes in range are filled.

If any of the memory in range is bad or doesn't exist, Debug displays an
error message and stops the F command.

\bUsing the list parameter\p

If list contains more values than the number of bytes in range, Debug
ignores the extra values in list.
                                      
.context Debug: F--Example
.context @Debug: F--Example
:nDEBUG: F--Example
:z3
\i\p\aSyntax\v@Debug: F\v\i\p  \i\p\aNotes\v@Debug: F--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: FÄÄExample\p

Suppose you type the following command:

    f04ba:100l100 42 45 52 54 41

In response, Debug fills memory locations 04BA:100 through 04BA:1FF with the
values specified. Debug repeats the five values until all the 100h bytes are
filled.

                                      
.context Debug: G
.context @Debug: G
:nDEBUG: G (Go)
:z3
                                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDEBUG: G (Go)\p

Runs the program currently in memory.

\bSyntax\p

    G [=address] [breakpoints]

\bParameters\p

=address
    Specifies the address in the program currently in memory at which you
    want execution to begin. If you do not specify address, MS-DOS begins
    program execution at the current address in the CS:IP registers.

breakpoints
    Specifies 1 to 10 temporary breakpoints that you can set as part of the
    g command.

\bRelated Commands\p

For information about executing a loop, a repeated string instruction, a
software interrupt, or a subroutine, see the \i<\p\aDEBUG P (Proceed)\v@Debug: P\v\i>\p command.

For information about executing one instruction, see the \i<\p\aDEBUG T (Trace)\v@Debug: T\v\i>\p
command.

                                      
.context Debug: G--Notes
.context @Debug: G--Notes
:nDEBUG: G--Notes
:z3
\i\p\aExamples\v@Debug: G--Examples\v\i\p  \i\p\aSyntax\v@Debug: G\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: GÄÄNotes\p

\bUsing the address parameter\p

You must precede the address parameter with an equal sign (=) to distinguish
the starting address (address) from the breakpoint addresses (breakpoints).

:m410
\bSpecifying breakpoints\p

The program stops at the first breakpoint it encounters, regardless of where
you typed that breakpoint in the breakpoints list. Debug replaces the
original instruction at each breakpoint with an interrupt code.

When the program reaches a breakpoint, Debug restores all breakpoint
addresses to their original instructions and displays the contents of all
registers, the status of all flags, and the decoded form of the last
instruction executed. Debug displays the same information as it would
display if you used the Debug R (register) command and specified the
breakpoint address.

If you do not stop the program at one of the breakpoints, Debug does not
replace the interrupt codes with the original instructions.

:m410a
\bLimitations on setting breakpoints\p

You can set breakpoints only at addresses containing the first byte of an
8086 operation code (opcode). If you set more than 10 breakpoints, Debug
displays the following message:

    bp Error

\bRequirements for the user stack pointer\p

The user stack pointer must be valid and must have 6 bytes available for the
g command. This command uses an IRET instruction to jump to the program
being tested. Debug sets the user stack pointer and pushes the user flags,
the code segment register, and the instruction pointer onto the user stack.
(If the user stack is not valid or is too small, the operating system might
fail.) Debug places an interrupt code (0CCh) at the specified breakpoint
address(es).

\bRestarting a program\p

Do not attempt to restart a program after MS-DOS displays the following
message:

    Program terminated normally

To run the program properly, you must reload it by using the Debug n (name)
and l (load) commands.
                                      
.context Debug: G--Examples
.context @Debug: G--Examples
:nDEBUG: G--Examples
:z3
\i\p\aSyntax\v@Debug: G\v\i\p  \i\p\aNotes\v@Debug: G--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: GÄÄExamples\p

Suppose you type the following command:

    gcs:7550

MS-DOS runs the program currently in memory up to the breakpoint address
7550 in the CS segment. Debug then displays the contents of the registers
and the status of the flags and stops the g command.

The following command sets two breakpoints:

    gcs:7550, cs:8000

If you type the g command again after Debug encounters a breakpoint,
execution begins at the instruction after the breakpoint, rather than at the
usual starting address.

                                      
.context Debug: H
.context @Debug: H
:nDEBUG: H (Hex)
:z3
\i\p\aNote\v@Debug: H--Note\v\i\p  \i\p\aExample\v@Debug: H--Example\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDEBUG: H (Hex)\p

Performs hexadecimal arithmetic on two parameters you specify.

\bSyntax\p

    H value1 value2

\bParameters\p

value1
    Represents any hexadecimal number in the range 0 through FFFFh.

value2
    Represents a second hexadecimal number in the range 0 through FFFFh.

                                      
.context Debug: H--Note
.context @Debug: H--Note
:nDEBUG: H--Note
:z3
\i\p\aExample\v@Debug: H--Example\v\i\p  \i\p\aSyntax\v@Debug: H\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDEBUG: HÄÄNote\p

Debug first adds the two parameters you specify and then subtracts the
second parameter from the first. The results of these calculations are
displayed on one line ÄÄ first the sum, then the difference.

                                      
.context Debug: H--Example
.context @Debug: H--Example
:nDEBUG: H--Example
:z3
\i\p\aSyntax\v@Debug: H\v\i\p  \i\p\aNote\v@Debug: H--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: HÄÄExample\p

Suppose you type the following command:

    h19f 10a

Debug performs the calculations and displays the following result:

    02A9 0095

                                      
.context Debug: I
.context @Debug: I
:nDEBUG: I (Input)
:z3
\i\p\aExample\v@Debug: I--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: I (Input)\p

Reads and displays one byte value from the port you specify.

\bSyntax\p

    I port

\bParameters\p

port
    Specifies the input port by address. The address can be a 16-bit value.

\bRelated Command\p

For information about sending the value of a byte to an output port, see the
\i<\p\aDEBUG O (Output)\v@Debug: O\v\i>\p command.

                                      
.context Debug: I--Example
.context @Debug: I--Example
:nDEBUG: I--Example
:z3
\i\p\aSyntax\v@Debug: I\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bDEBUG: IÄÄÄÄExample\p

Suppose you type the following command:

    i2f8

Suppose also that the byte value at the port is 42h. Debug reads the byte
and then displays the value, as follows:

    42

                                      
.context Debug: L
.context @Debug: L
:nDEBUG: L (Load)
:z3
\i\p\aNotes\v@Debug: L--Notes\v\i\p  \i\p\aExamples\v@Debug: L--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: L (Load)\p

Loads a file or contents of specific disk sectors into memory.

To load the contents of the number of bytes specified in the BX:CX registers
from a disk file, use the following syntax:

\bSyntax\p

    L [address]

To bypass the MS-DOS file system and directly load specific sectors, use the
following syntax:

    L address drive start number

\bParameters\p

address
    Specifies the memory location where you want to load the file or the
    sector contents. If you do not specify address, Debug uses the current
    address in the CS register.

drive
    Specifies the drive that contains the disk from which specific sectors
    are to be read. This value is numeric: 0 = A, 1 = B, 2 = C, and so on.
    You use the drive, start, and number parameters only if you want to load
    the contents of specific sectors rather than load the file specified on
    the DEBUG command line or in the most recent Debug N (name) command.

start
    Specifies the hexadecimal number of the first sector whose contents you
    want to load.

number
    Specifies the hexadecimal number of consecutive sectors whose contents
    you want to load.

\bRelated Commands\p

For information about specifying a file for the L command, see the
\i<\p\aDEBUG N (Name)\v@Debug: N\v\i>\p command.

For information about writing the file being debugged to a disk, see the
\i<\p\aDEBUG W (Write)\v@Debug: W\v\i>\p command.

                                      
.context Debug: L--Notes
.context @Debug: L--Notes
:nDEBUG: L--Notes
:z3
\i\p\aExamples\v@Debug: L--Examples\v\i\p  \i\p\aSyntax\v@Debug: L\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: LÄÄNotes\p

\bUsing the L command without parameters\p

When you use the L command without parameters, the file you specified on the
DEBUG command line is loaded into memory, beginning at address CS:100. Debug
also sets the BX and CX registers to the number of bytes loaded. If you did
not specify a file on the DEBUG command line, the file loaded is the one you
most recently specified by using the N command.

\bUsing the L command with the address parameter\p

If you use the L command with the address parameter, Debug begins loading
the file or the contents of the specified sectors at the memory location
address.

\bUsing the L command with all parameters\p

If you use the L command with all parameters, Debug loads the contents of
specific disk sectors instead of loading a file.

\bLoading the contents of specific sectors\p

Each sector in the range you specify is read from drive. Debug begins
loading with start and continues until the contents of the number of sectors
specified in number have been loaded.

:m414
\bLoading an .EXE file\p

Debug ignores the address parameter for .EXE files. If you specify an .EXE
file, Debug relocates the file to the loading address specified in the
header of the .EXE file. The header itself is stripped off the .EXE file
before the file is loaded into memory, so the size of an .EXE file on disk
differs from its size in memory. If you want to examine a complete .EXE
file, rename the file with a different extension.

:m414a
\bOpening a hex file\p

A hex file is a file that uses the Intel hexadecimal format, as described in
The MS-DOS Encyclopedia. Debug assumes that files with the .HEX extension
are hexadecimal-format files. You can type the L command with no parameters
to load a hex file beginning at the address specified in the hex file. If
the L command you type includes the address parameter, Debug adds the
specified address to the address found in the hex file to determine the
starting address.
                                      
.context Debug: L--Examples
.context @Debug: L--Examples
:nDEBUG: L--Examples
:z3
\i\p\aSyntax\v@Debug: L\v\i\p  \i\p\aNotes\v@Debug: L--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: LÄÄExamples\p

Suppose you start Debug and type the following command:

    nfile.com

You can now type the L command to load FILE.COM. Debug loads the file and
displays the Debug prompt.

Suppose that you want to load the contents of 109 (6Dh) sectors from drive
C, beginning with logical sector 15 (0Fh), into memory beginning at address
04BA:0100. To do this, type the following command:

    l04ba:100 2 0f 6d

                                      
.context Debug: M
.context @Debug: M
:nDEBUG: M (Move)
:z3
\i\p\aNotes\v@Debug: M--Notes\v\i\p  \i\p\aExample\v@Debug: M--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: M (Move)\p

Copies the contents of a block of memory to another block of memory.

\bSyntax\p

    M range address

\bParameters\p

range
    Specifies the starting and ending addresses, or the starting address and
    the length, of the memory area whose contents you want to copy.

address
    Specifies the starting address of the location to which you want to copy
    the contents of range.

                                      
.context Debug: M--Notes
.context @Debug: M--Notes
:nDEBUG: M--Notes
:z3
\i\p\aExample\v@Debug: M--Example\v\i\p  \i\p\aSyntax\v@Debug: M\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: MÄÄNotes\p

\bEffects of the copy operation on existing data\p

If the addresses in the block being copied do not have new data written to
them, the original data remains intact. However, if the destination block
already contains data (as it might in an overlapping copy operation), that
data is overwritten. (Overlapping copy operations are those in which part of
the destination block overlaps part of the source block.)

:m415
\bPerforming overlapping copy operations\p

The M command performs overlapping copy operations without losing data at
the destination addresses. The contents of addresses that will be
overwritten are copied first. Thus, if data is to be copied from higher
addresses to lower addresses, the copy operation begins at the source
block's lowest address and progresses toward the highest address.
Conversely, if data is to be copied from lower addresses to higher
addresses, the copy operation begins at the source block's highest address
and progresses toward the lowest address.
                                      
.context Debug: M--Example
.context @Debug: M--Example
:nDEBUG: M--Example
:z3
\i\p\aSyntax\v@Debug: M\v\i\p  \i\p\aNotes\v@Debug: M--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: MÄÄExample\p

Suppose you type the following command:

    mcs:100 110 cs:500

Debug first copies the contents of address CS:110 to CS:510, then copies the
contents of CS:10F to CS:50F, and so on until it has copied the contents of
CS:100 to CS:500. To view the results, you can use the Debug D (dump)
command, specifying the destination address you used with the M command.

                                      
.context Debug: N
.context @Debug: N
:nDEBUG: N (Name)
:z3
\i\p\aNotes\v@Debug: N--Notes\v\i\p  \i\p\aExamples\v@Debug: N--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: N (Name)\p

Specifies the name of an executable file for a Debug l (load) or w (write)
command, or specifies parameters for the executable file being debugged.

\bSyntax\p

    N [drive:][path] filename

To specify parameters for the executable file you are testing, use the
following syntax:

    N file-parameters

To clear the current specifications, use the following syntax:

    N

\bParameters\p

[drive:][path] filename
    Specifies the location and name of the executable file you want to
    test.

file-parameters
    Specifies parameters and switches for the executable file you are
    testing.

\bRelated Commands\p

For information about loading the contents of a file or of specific disk
sectors into memory, see the \i<\p\aDEBUG L (Load)\v@Debug: L\v\i>\p command.

For information about writing the file being debugged to a disk, see the
\i<\p\aDEBUG W (Write)\v@Debug: W\v\i>\p command.

                                      
.context Debug: N--Notes
.context @Debug: N--Notes
:nDEBUG: N--Notes
:z3
\i\p\aExamples\v@Debug: N--Examples\v\i\p  \i\p\aSyntax\v@Debug: N\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: NÄÄNotes\p

\bThe two uses of the n command\p

You can use the N command in two ways. First, you can use it to specify a
file to be used by a later L or W command. If you start Debug without naming
a file to be debugged, you must use the command Nfilename before you can use
the L command to load the file. The filename is correctly formatted for a
file control block at CS:5C. Second, you can use the N command to specify
command-line parameters and switches for the file being debugged.

\bMemory areas\p

The following four areas of memory can be affected by the N command:

\bMemory           Contents
location         
\pÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

CS:5C            File control block (FCB) for file 1

CS:6C            File control block (FCB) for file 2

CS:80            Length of n command line (in characters)

CS:81            Beginning of n command-line characters

The first filename you specify for the N command is placed in a file control
block (FCB) at CS:5C. If you specify a second filename, this name is placed
in an FCB at CS:6C. The number of characters typed on the N command line
(exclusive of the first character, N) is stored at location CS:80. The
actual characters on the N command line (again, exclusive of the letter N)
are stored beginning at CS:81. Note that these characters can be any
switches and delimiters that would be legal in a command typed at the MS-DOS
prompt.
                                      
.context Debug: N--Examples
.context @Debug: N--Examples
:nDEBUG: N--Examples
:z3
\i\p\aSyntax\v@Debug: N\v\i\p  \i\p\aNotes\v@Debug: N--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: NÄÄExamples\p

Suppose you've started Debug and loaded the program PROG.COM for debugging.
You subsequently decide to specify two parameters for PROG.COM and run the
program. Following is the sequence of commands for this example:

     debug prog.com
     nparam1 param2
    g

In this case, the Debug g (go) command runs the program as if you had typed
the following command at the MS-DOS prompt:

    prog param1 param2

Testing and debugging therefore reflect a typical run-time environment for
PROG.COM.

In the following sequence of commands, the first N command specifies
FILE1.EXE as the file for the subsequent l command, which loads FILE1.EXE
into memory. The second N command specifies the parameters to be used by
FILE1.EXE. Finally, the G command runs FILE1.EXE as if you had typed FILE1
FILE2.DAT FILE3.DAT at the MS-DOS prompt.

    nfile1.exe
    l
    nfile2.dat file3.dat
    g

Note that you do not use the L command after the second form of the N
command. Also note that if you now use the W command, MS-DOS saves
FILE1.EXE, the file being debugged, with the name FILE2.DAT. To avoid this
result, you should always use the first form of the N command immediately
before either an L or a W command.

                                      
.context Debug: O
.context @Debug: O
:nDEBUG: O (Output)
:z3
\i\p\aExample\v@Debug: O--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: O (Output)\p

Sends the value of a byte to an output port.

\bSyntax\p

    O port byte-value

\bParameters\p

port
    Specifies the output port by address. The port address can be a 16-bit
    value.

byte-value
    Specifies the byte value you want to direct to port.

\bRelated Command\p

For information about reading the value of a byte from an input port, see
the \i<\p\aDEBUG I (Input)\v@Debug: I\v\i>\p command.

                                      
.context Debug: O--Example
.context @Debug: O--Example
:nDEBUG: O--Example
:z3
\i\p\aSyntax\v@Debug: O\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: OÄÄExample\p

To send the byte value 4Fh to the output port at address 2F8h, type the
following command:

    o2f8 4f

                                      
.context Debug: P
.context @Debug: P
:nDEBUG: P (Proceed)
:z3
\i\p\aNotes\v@Debug: P--Notes\v\i\p  \i\p\aExample\v@Debug: P--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: P (Proceed)\p

Executes a loop, a repeated string instruction, a software interrupt, or a
subroutine; or traces through any other instruction.

\bSyntax\p

    P [=address] [number]

\bParameters\p

=address
    Specifies the location of the first instruction to execute. If you do
    not specify an address, the default address is the current address
    specified in the CS:IP registers.

number
    Specifies the number of instructions to execute before returning control
    to Debug. The default value is 1.

\bRelated Commands\p

For information about running the program currently in memory, see the
\i<\p\aDEBUG G (Go)\v@Debug: G\v\i>\pcommand.

For information about executing one instruction, see the \i<\p\aDEBUG T (Trace)\v@Debug: T\v\i>\p
command.

                                      
.context Debug: P--Notes
.context @Debug: P--Notes
:nDEBUG: P--Notes
:z3
\i\p\aExample\v@Debug: P--Example\v\i\p  \i\p\aSyntax\v@Debug: P\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: PÄÄNotes\p

\bTransferring control to the program being tested\p

When the P command transfers control from Debug to the program being tested,
that program runs without interruption until the loop, repeated string
instruction, software interrupt, or subroutine at the specified address is
completed, or until the specified number of machine instructions have been
executed. Control then returns to Debug.

\bLimitations on the address parameter\p

If the address parameter does not specify a segment, Debug uses the CS
register of the program being tested. If you omit address, the program is
executed beginning at the address specified by its CS:IP registers. You must
precede the address parameter with an equal sign (=) to distinguish it from
the number parameter. If the instruction at the specified address is not a
loop, a repeated string instruction, a software interrupt, or a subroutine,
the P command works the same way as the Debug T (trace) command.

\bMessages displayed with the p command\p

After P executes an instruction, Debug displays the contents of the
program's registers, the status of its flags, and the decoded form of the
next instruction to be executed.

\bCAUTION:\p  You cannot use the P command to trace through read-only memory
          (ROM).

                                      
.context Debug: P--Example
.context @Debug: P--Example
:nDEBUG: P--Example
:z3
\i\p\aSyntax\v@Debug: P\v\i\p  \i\p\aNotes\v@Debug: P--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: PÄÄExample\p

Suppose that the program you're testing contains a CALL instruction at
address CS:143F. To run the subroutine that is the destination of CALL and
then return control to Debug, type the following command:

    p=143f

Debug displays the results in the following format:

    AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
    DS=2246  ES=2246  SS=2246  CS=2246  IP=1443   NV UP EI PL NZ AC PO NC
    2246:1442 7505          JNZ     144A

                                      
.context Debug: Q
.context @Debug: Q
:nDEBUG: Q (Quit)
:z3
\i\p\aExample\v@Debug: Q--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: Q (Quit)\p

Stops the Debug session, without saving the file currently being tested.

After you type q, control returns to MS-DOS.

\bSyntax\p

    Q

\bParameters\p

This command takes no parameters.

\bRelated Command\p

For information about saving a file, see the \i<\p\aDEBUG W (Write)\v@Debug: W\v\i>\p command.

                                      
.context Debug: Q--Example
.context @Debug: Q--Example
:nDEBUG: Q--Example
:z3
\i\p\aSyntax\v@Debug: Q\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: QÄÄExample\p

To stop the debugging session, type the following command:

    Q

MS-DOS displays the MS-DOS prompt.

                                      
.context Debug: R
.context @Debug: R
:nDEBUG: R (Register)
:z3
\i\p\aNotes\v@Debug: R--Notes\v\i\p  \i\p\aExamples\v@Debug: R--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bDEBUG: R (Register)\p

Displays or alters the contents of one or more central-processing-unit (CPU)
registers.

\bSyntax\p

    R [register-name]

To display the contents of all registers and flags in the register storage
area, use the following syntax:

    R

\bParameter\p

register-name
    Specifies the name of the register whose contents you want to display.

\bRelated Commands\p

For information about displaying the contents of a portion of memory, see
the \i<\p\aDEBUG D (Dump)\v@Debug: D\v\i>\p command.

For information about disassembling bytes, see the \i<\p\aDEBUG U (Unassemble)\v@Debug: U\v\i>\p
command.

                                      
.context Debug: R--Notes
.context @Debug: R--Notes
:nDEBUG: R--Notes
:z3
\i\p\aExamples\v@Debug: R--Examples\v\i\p  \i\p\aSyntax\v@Debug: R\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: RÄÄNotes\p

\bUsing the R command\p

If you specify a register name, MS-DOS displays the 16-bit value of that
register in hexadecimal notation and displays a colon as the prompt. If you
want to change the value contained in the register, type a new value and
press ENTER; otherwise, just press ENTER to return to the Debug prompt.

\bValid register names\p

The following are valid values for register-name: AX, BX, CX, DX, SP, BP,
SI, DI, DS, ES, SS, CS, IP, PC, and F. Both IP and PC refer to the
instruction pointer.

If you specify a register name other than one from the preceding list,
MS-DOS displays the following message:

    br error

:m421
\bUsing the F character instead of a register name\p

If you type the F character instead of a register name, Debug displays the
current setting of each flag as a two-letter code and then displays the
Debug prompt. To change the setting of a flag, type the appropriate
two-letter code from the following table:

\bFlag name        Set             Clear
\pÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

Overflow         OV              NV

Direction        DN              UP (increment)
                 (decrement)     

Interrupt        EI (enabled)    DI (disabled)

Sign             NG (negative)   PL (positive)

Zero             ZR              NZ

Auxiliary        AC              NA
Carry                            

Parity           PE (even)       PO (odd)

Carry            CY              NC

You can type new flag values in any order. You need not leave spaces between
these values. To stop the R command, press ENTER. Any flags for which you
did not specify new values remain unchanged.

\bMessages displayed with the R command\p

If you specify more than one value for a flag, Debug displays the following
message:

    df error

If you specify a flag code not listed in the preceding table, Debug displays
the following message:

    bf error

In both cases, Debug ignores all settings specified after the invalid
entry.

\bDefault settings for Debug\p

When you start Debug, the segment registers are set to the bottom of free
memory, the instruction pointer is set to 0100h, all flags are cleared, and
the remaining registers are set to zero, except for SP, which is set to
FFEEh.
                                      
.context Debug: R--Examples
.context @Debug: R--Examples
:nDEBUG: R--Examples
:z3
\i\p\aSyntax\v@Debug: R\v\i\p  \i\p\aNotes\v@Debug: R--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: RÄÄExamples\p

To view the contents of all registers, the status of all flags, and the
decoded form of the instruction at the current location, type the following
command:

    r

If the current location is CS:11A, the display will look similar to the
following:

    AX=0E00 BX=00FF CX=0007 DX=01FF SP=039D BP=0000 SI=005C DI=0000
    DS=04BA ES=04BA SS=04BA CS=O4BA IP=011A  NV UP DI NG NZ AC PE NC
    04BA:011A  CD21          INT     21

To view only the status of the flags, type the following command:

    rf

Debug displays the information in the following format:

    NV UP DI NG NZ AC PE NC - _

Now you can type one or more valid flag values, in any order, with or
without spaces, as in the following command:

    nv up di ng nz ac pe nc - pleicy

Debug stops the R command and displays the Debug prompt. To see the changes,
type either the R or RF command. Debug then displays the following:

    NV UP EI PL NZ AC PE CY - _

Press ENTER to return to the Debug prompt.

                                      
.context Debug: S
.context @Debug: S
:nDEBUG: S (Search)
:z3
\i\p\aNote\v@Debug: S--Note\v\i\p  \i\p\aExamples\v@Debug: S--Examples\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: S (Search)\p

Searches a range of addresses for a pattern of one or more byte values.

\bSyntax\p

    S range list

\bParameters\p

range
    Specifies the beginning and ending addresses of the range you want to
    search. For information about valid values for the range parameter, see
    the \i<\p\aDEBUG\v@Debug\v\i>\p command.

list
    Specifies the pattern of one or more byte values or a string you want to
    search for. Separate each byte value from the next with a space or a
    comma. Enclose string values in quotation marks.

                                      
.context Debug: S--Note
.context @Debug: S--Note
:nDEBUG: S--Note
:z3
\i\p\aExamples\v@Debug: S--Examples\v\i\p  \i\p\aSyntax\v@Debug: S\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDEBUG: SÄÄNote\p

If the list parameter contains more than one byte value, Debug displays only
the first address where the byte value occurs. If list contains only one
byte value, Debug displays all addresses where the value occurs in the
specified range.
                                      
.context Debug: S--Examples
.context @Debug: S--Examples
:nDEBUG: S--Examples
:z3
\i\p\aSyntax\v@Debug: S\v\i\p  \i\p\aNote\v@Debug: S--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: SÄÄExamples\p

Suppose you want to find all addresses in the range CS:100 through CS:110
that contain the value 41. To do this, type the following command:

    scs:100 110 41

Debug displays the results in the following format:

    04BA:0104
    04BA:010D
    -

The following command searches for the string "Ph" in the range CS:100
through CS:1A0:

    scs:100 1a0 "Ph"

                                      
.context Debug: T
.context @Debug: T
:nDEBUG: T (Trace)
:z3
\i\p\aNotes\v@Debug: T--Notes\v\i\p  \i\p\aExample\v@Debug: T--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: T (Trace)\p

Executes one instruction and displays the contents of all registers, the
status of all flags, and the decoded form of the instruction executed.

\bSyntax\p

    T [=address] [number]

\bParameters\p

=address
    Specifies the address at which Debug is to start tracing instructions.
    If you omit the address parameter, tracing begins at the address
    specified by your program's CS:IP registers. For information about valid
    values for the address parameter, see the \i<\p\aDEBUG\v@Debug\v\i>\p command.

number
    Specifies the number of instructions to be traced. This value must be a
    hexadecimal number. The default value is 1.

\bRelated Commands\p

For information about executing a loop, a repeated string instruction, a
software interrupt, or a subroutine, see the \i<\p\aDEBUG P (Proceed)\v@Debug: P\v\i>\p command.

For information about executing the program currently in memory, see the
\i<\p\aDEBUG G (Go)\v@Debug: G\v\i>\p command.

                                      
.context Debug: T--Notes
.context @Debug: T--Notes
:nDEBUG: T--Notes
:z3
\i\p\aExample\v@Debug: T--Example\v\i\p  \i\p\aSyntax\v@Debug: T\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: TÄÄNotes\p

\bTracing instructions in read-only memory\p

The T command uses the hardware trace mode of the 8086 or 8088
microprocessor. Therefore, you can also trace instructions stored in
read-only memory (ROM).

\bUsing the address parameter\p

You must precede the address parameter with an equal sign (=) to distinguish
it from the number parameter.
                                      
.context Debug: T--Example
.context @Debug: T--Example
:nDEBUG: T--Example
:z3
\i\p\aSyntax\v@Debug: T\v\i\p  \i\p\aNotes\v@Debug: T--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: TÄÄExample\p

To execute one instruction (pointed to by CS:IP), and then display the
contents of the registers, the status of the flags, and the decoded form of
the instruction, type the following command:

    t

If the position of the instruction in the program were 04BA:011A, Debug
might display the following information:

    AX=0E00 BX=00FF CX=0007 DX=01FF SP=039D BP=0000 SI=005C DI=0000
    DS=04BA ES=04BA SS=04BA CS=O4BA IP=011A  NV UP DI NG NZ AC PE NC
    04BA:011A  CD21          INT     21

                                      
.context Debug: U
.context @Debug: U
:nDEBUG: U (Unassemble)
:z3
\i\p\aExamples\v@Debug: U--Examples\v\i\p                                                                  
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                           \bDEBUG: U (Unassemble)\p

Disassembles bytes and displays their corresponding source statements,
including addresses and byte values. The disassembled code looks like a
listing for an assembled file.

\bSyntax\p

    U [range]

To disassemble 20h bytes (the default number), beginning at the first
address after the address displayed by the previous U command, use the
following syntax:

    U

\bParameter\p

range
    Specifies the starting and ending addresses, or the starting address and
    length, of the code you want to disassemble. For information about valid
    values for the range parameter, see the \i<\p\aDEBUG\v@Debug\v\i>\p command.

\bRelated Commands\p

For information about assembling mnemonics, see the \i<\p\aDEBUG A (Assemble)\v@Debug: A\v\i>\p
command.

For information about displaying the contents of a portion of memory, see
the \i<\p\aDEBUG D (Dump)\v@Debug: D\v\i>\p command.

                                      
.context Debug: U--Examples
.context @Debug: U--Examples
:nDEBUG: U--Examples
:z3
\i\p\aSyntax\v@Debug: U\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: UÄÄExamples\p

To disassemble 16 (10h) bytes, beginning at address 04BA:0100, type the
following command:

    u04ba:100l10

Debug displays the results in the following format:

    04BA:0100  206472    AND  [SI+72],AH
    04BA:0103  69        DB   69
    04BA:0104  7665      JBE  016B
    04BA:0106  207370    AND  [BP+DI+70],DH
    04BA:0109  65        DB   65
    04BA:010A  63        DB   63
    04BA:010B  69        DB   69
    04BA:010C  66        DB   66
    04BA:010D  69        DB   69
    04BA:010E  63        DB   63
    04BA:010F  61        DB   61

To display only the information for the specific addresses 04BA:0100 through
04BA:0108, type the following command:

    u04ba:0100 0108

Debug displays the following:

    04BA:0100  206472    AND  [SI+72],AH
    04BA:0103  69        DB   69
    04BA:0104  7665      JBE  016B
    04BA:0106  207370    AND  [BP+DI+70],DH

                                      
.context Debug: W
.context @Debug: W
:nDEBUG: W (Write)
:z3
\i\p\aNotes\v@Debug: W--Notes\v\i\p  \i\p\aExample\v@Debug: W--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: W (Write)\p

Writes a file or specific sectors to disk.

You must have specified the name of the disk file when you started Debug or
in the most recent Debug N (name) command. Both of these methods properly
format a filename for a file control block at address CS:5C.

To write the contents of the number of bytes specified in the BX:CX
registers to a disk file, use the following syntax:

\bSyntax\p

    W [address]

To bypass the MS-DOS file system and directly write specific sectors, use
the following syntax:

    W address drive start number

\bCAUTION:\p  Writing specific sectors is extremely risky because it bypasses
          the MS-DOS file handler. The disk's file structure can easily be
          damaged if the wrong values are typed.

\bParameters\p

address
    Specifies the beginning memory address of the file, or portion of the
    file, you want to write to a disk file. If you do not specify address,
    Debug starts from CS:100. For information about valid values for the
    address parameter, see the \i<\p\aDEBUG\v@Debug\v\i>\p command.

drive
    Specifies the drive that contains the destination disk. This value is
    numeric: 0 = A, 1 = B, 2 = C, and so on.

start
    Specifies the hexadecimal number of the first sector to which you want
    to write.

number
    Specifies the number of sectors to which you want to write.

\bRelated Commands\p

For information about specifying a file for the W command, see the
\i<\p\aDEBUG N (Name)\v@Debug: N\v\i>\p command.

For information about loading the contents of a file or file sectors into
memory, see the \i<\p\aDEBUG L (Load)\v@Debug: L\v\i>\p command.

                                      
.context Debug: W--Notes
.context @Debug: W--Notes
:nDEBUG: W--Notes
:z3
\i\p\aExample\v@Debug: W--Example\v\i\p  \i\p\aSyntax\v@Debug: W\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: WÄÄNotes\p

\bResetting BX:CX before using the w command without parameters\p

If you have used a Debug G (go), T (trace), P (proceed), or R (register)
command, you must reset the BX:CX registers before using the W command
without parameters.

\bWriting a modified file to a disk\p

If you modify the file but do not change the name, length, or starting
address, Debug can still correctly write the file to the original disk
location.

\bLimitation on the w command\p

You cannot write an .EXE or .HEX file with this command.
                                      
.context Debug: W--Example
.context @Debug: W--Example
:nDEBUG: W--Example
:z3
\i\p\aSyntax\v@Debug: W\v\i\p  \i\p\aNotes\v@Debug: W--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: WÄÄExample\p

Suppose you want to write the contents of memory, beginning at the address
CS:100, to the disk in drive B. You want the data to begin in the disk's
logical sector number 37h and continue for 2Bh sectors. To do this, type the
following command:

    wcs:100 1 37 2b

When the write operation is complete, Debug displays the Debug prompt
again.

                                      
.context Debug: XA
.context @Debug: XA
:nDEBUG: XA (Allocate Expanded Memory)
:z3
\i\p\aNote\v@Debug: XA--Note\v\i\p  \i\p\aExample\v@Debug: XA--Example\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                    \bDEBUG: XA (Allocate Expanded Memory)\p

Allocates a specified number of pages of expanded memory.

To use expanded memory, you must have installed an expanded-memory device
driver that conforms to version 4.0 of the Lotus/Intel/Microsoft Expanded
Memory Specification (LIM EMS).

\bSyntax\p

    XA [count]

\bParameters\p

count
    Specifies the number of 16-kilobyte pages of expanded memory to
    allocate.

\bRelated Commands\p

For information about other Debug commands that work with expanded memory,
see the Debug commands \i<\p\aXD (Deallocate Expanded Memory)\v@Debug: XD\v\i>\p,
\i<\p\aXM (Map Expanded-Memory Pages)\v@Debug: XM\v\i>\p, and \i<\p\aXS (Display Expanded-Memory Status)\v@Debug: XS\v.

                                      
.context Debug: XA--Note
.context @Debug: XA--Note
:nDEBUG: XA--Note
:z3
\i\p\aExample\v@Debug: XA--Example\v\i\p  \i\p\aSyntax\v@Debug: XA\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: XAÄÄNote\p

If the specified number of pages is available, Debug displays a message
indicating the hexadecimal number of the handle created; otherwise, Debug
displays an error message.
                                      
.context Debug: XA--Example
.context @Debug: XA--Example
:nDEBUG: XA--Example
:z3
\i\p\aSyntax\v@Debug: XA\v\i\p  \i\p\aNote\v@Debug: XA--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: XAÄÄExample\p

To allocate 8 pages of expanded memory, type the following command:

    xa8

If the command is successful, Debug displays a message similar to the
following:

    Handle created=0003

                                      
.context Debug: XD
.context @Debug: XD
:nDEBUG: XD (Deallocate Expanded Memory)
:z3
\i\p\aExample\v@Debug: XD--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                   \bDEBUG: XD (Deallocate Expanded Memory)\p

Deallocates a handle to expanded memory.

To use expanded memory, you must have installed an expanded-memory device
driver that conforms to version 4.0 of the Lotus/Intel/Microsoft Expanded
Memory Specification (LIM EMS).

\bSyntax\p

    XD [handle]

\bParameters\p

handle
    Specifies the handle you want to deallocate.

\bRelated Commands\p

For information about other Debug commands that work with expanded memory,
see the Debug commands \i<\p\aXA (Allocate Expanded Memory)\v@Debug: XA\v\i>\p,
\i<\p\aXM (Map Expanded-Memory Pages)\v@Debug: XM\v\i>\p, and
\i<\p\aXS (Display Expanded-Memory Status)\v@Debug: XS\v\i>\p.

                                      
.context Debug: XD--Example
.context @Debug: XD--Example
:nDEBUG: XD--Example
:z3
\i\p\aSyntax\v@Debug: XD\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: XDÄÄExample\p

To deallocate handle 0003, type the following command:

    xd 0003

If the command is successful, Debug displays the following message:

    Handle 0003 deallocated

                                      
.context Debug: XM
.context @Debug: XM
:nDEBUG: XM (Map Expanded Memory Pages)
:z3
\i\p\aExample\v@Debug: XM--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                   \bDEBUG: XM (Map Expanded Memory Pages)\p

Maps a logical page of expanded memory, belonging to the specified handle,
to a physical page of expanded memory.

To use expanded memory, you must have installed an expanded-memory device
driver that conforms to version 4.0 of the Lotus/Intel/Microsoft Expanded
Memory Specification (LIM EMS).

\bSyntax\p

    XM [lpage] [ppage] [handle]

\bParameters\p

lpage
    Specifies the number of the logical page of expanded memory that you
    want to map to physical page ppage.

ppage
    Specifies the number of the physical page to which lpage is to be
    mapped.

handle
    Specifies the handle.

\bRelated Commands\p

For information about other Debug commands that work with expanded memory,
see the Debug commands \i<\p\aXA (Allocate Expanded Memory)\v@Debug: XA\v\i>\p,
\i<\p\aXD (Deallocate Expanded Memory)\v@Debug: XD\v\i>\p, and
\i<\p\aXS (Display Expanded-Memory Status)\v@Debug: XS\v\i>\p.

                                      
.context Debug: XM--Example
.context @Debug: XM--Example
:nDEBUG: XM--Example
:z3
\i\p\aSyntax\v@Debug: XM\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: XMÄÄExample\p

To map logical page 5 of handle 0003 to physical page 2, type the following
command:

    xm 5 2 0003

If the command is successful, Debug displays the following message:

    Logical page 05 mapped to physical page 02

                                      
.context Debug: XS
.context @Debug: XS
:nDEBUG: XS
:z3
\i\p\aNote\v@Debug: XS--Note\v\i\p  \i\p\aExample\v@Debug: XS--Example\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                 \bDEBUG: XS (Display Expanded-Memory Status)\p

Displays information about the status of expanded memory.

To use expanded memory, you must have installed an expanded-memory device
driver that conforms to version 4.0 of the Lotus/Intel/Microsoft Expanded
Memory Specification (LIM EMS).

\bSyntax\p

    XS

\bParameters\p

This command takes no parameters.

\bRelated Commands\p

For information about other Debug commands that work with expanded memory,
see the Debug commands \i<\p\aXA (Allocate Expanded Memory)\v@Debug: XA\v\i>\p,
\i<\p\aXD (Deallocate Expanded Memory)\v@Debug: XD\v\i>\p, and \i<\p\aXM (Map Expanded-Memory Pages)\v@Debug: XM\v\i>\p.

                                      
.context Debug: XS--Note
.context @Debug: XS--Note
:nDEBUG: XS--Note
:z3
\i\p\aExample\v@Debug: XS--Example\v\i\p  \i\p\aSyntax\v@Debug: XS\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEBUG: XSÄÄNote\p

The information that Debug displays has the following format:

    Handle xx has xx pages allocated
    Physical page xx = Frame segment xx
       xx of a total xx EMS pages have been allocated
       xx of a total xx EMS handles have been allocated

                                      
.context Debug: XS--Example
.context @Debug: XS--Example
:nDEBUG: XS--Example
:z3
\i\p\aSyntax\v@Debug: XS\v\i\p  \i\p\aNote\v@Debug: XS--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEBUG: XSÄÄExample\p

To display expanded-memory information, type the following command:

    xs

Debug displays information similar to the following:

    Handle 0000 has 0000 pages allocated
    Handle 0001 has 0002 pages allocated

    Physical page 00 = Frame segment C000
    Physical page 01 = Frame segment C400
    Physical page 02 = Frame segment C800
    Physical page 03 = Frame segment CC00
       2 of a total 80 EMS pages have been allocated
       2 of a total FF EMS handles have been allocated

                                      
.context DEFRAG
.context @DEFRAG
:nDEFRAG
:z3
\i\p\aNotes\v@DEFRAG--Note\v\i\p  \i\p\aExample\v@DEFRAG--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bDEFRAG\p

Reorganizes files on a disk to optimize disk performance.

\bSyntax\p

    DEFRAG [drive:] [/F] [/S[:]order] [/V] [/B] [/SKIPHIGH]

    DEFRAG [drive:] [/U] [/V] [/B] [/SKIPHIGH]

\bParameter\p

drive:
    Specifies the drive that contains the disk you want to optimize.

\bSwitches\p

/F
    Defragments files and ensures that the disk contains no empty spaces
    between files.

/U
    Defragments files and leaves empty spaces, if any, between files.

/S
    Controls how the files are sorted in their directories. If you omit this
    switch, DEFRAG uses the current order on the disk. The colon (:) is
    optional. The following list describes each of the values you can use to
    sort files. Use any combination of the values, and do not separate these
    values with spaces.

    N
        In alphabetic order by name

    N-
        In reverse alphabetic order by name (Z through A)

    E
        In alphabetic order by extension

    E-
        In reverse alphabetic order by extension (Z through A)

    D
        By date and time, earliest first

    D-
        By date and time, latest first

    S
        By size, smallest first

    S-
        By size, largest first

/B
    Restarts your computer after files have been reorganized.

/V
    Verifies that data is written to disk correctly when data is moved.
    Verifying data slows down DEFRAG.

/SKIPHIGH
    Loads DEFRAG into conventional memory. By default, DEFRAG is loaded into
    upper memory, if upper memory is available.

                                      
.context DEFRAG--Note
.context @DEFRAG--Note
:nDEFRAG--Notes
:z3
\i\p\aExample\v@DEFRAG--Example\v\i\p  \i\p\aSyntax\v@DEFRAG\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDEFRAGÄÄNotes\p

\bNetwork and INTERLNK drives\p

You cannot use DEFRAG to optimize network drives or drives created with
INTERLNK.

\bDisk information reported by DEFRAG and CHKDSK\p

Disk information that DEFRAG reports differs from information that CHKDSK
reports. DEFRAG reports hidden and user files as one number; CHKDSK reports
numbers for each type. DEFRAG counts the root as a directory; CHKDSK does
not. DEFRAG does not count the volume label as a file; CHKDSK does.

\bUsing DEFRAG with FASTOPEN\p

If you defragment a disk while using FASTOPEN, specify the /B switch so that
your computer restarts after DEFRAG reorganizes files.

\bStart DEFRAG only from MS-DOS\p

If you start DEFRAG from a program such as Microsoft Windows, you may lose
data.

\bDEFRAG exit codes\p

The following list briefly describes the meaning of each DEFRAG exit code
(errorlevel):

0
    The defragmentation was successful.

1
    An internal error occurred.

2
    The disk contained no free clusters. To operate, DEFRAG needs 1 free
    cluster.

3
    The user pressed CTRL+C to stop the process.

4
    A general error occurred.

5
    DEFRAG encountered an error while reading a cluster.

6
    DEFRAG encountered an error while writing a cluster.

7
    An allocation error occurred. To correct the error, use the CHKDSK
    command with the /F switch.

8
    A memory error occurred.

9
    There was insufficient memory to defragment the disk.

You can use the ERRORLEVEL parameter on the IF command line in a batch
program to process exit codes returned by DEFRAG. For an example of a batch
program that processes exit codes, see the \i<\p\aDISKCOMP\v@Diskcomp\v\i>\p command.

                                      
.context DEFRAG--Example
.context @DEFRAG--Example
:nDEFRAG--Example
:z3
\i\p\aSyntax\v@DEFRAG\v\i\p  \i\p\aNotes\v@DEFRAG--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEFRAGÄÄExample\p

The following example specifies that DEFRAG be loaded into conventional
memory and that DEFRAG sort files according to the date they were created,
from latest created to earliest created. This example fully optimizes drive
C, but slows DEFRAG.

    defrag c: /f /sd- /skiphigh

                                      
.context @Del (Erase)
.context Del
.context Erase
.context Del (Erase)
:nDEL (Erase)
:z3
\i\p\aNotes\v@Del--Notes\v\i\p  \i\p\aExamples\v@Del--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bDEL (Erase)\p

Deletes specified files.

\bSyntax\p

    DEL [drive:][path] filename [/P]

    ERASE [drive:][path] filename [/P]

\bParameter\p

[drive:][path] filename
    Specifies the location and name of the file or set of files you want to
    delete.

\bSwitch\p

/P
    Prompts you for confirmation before deleting the specified file.

\bRelated Commands\p

For information about retrieving a deleted file, see the \i<\p\aUNDELETE\v@UNDELETE\v\i>\p
command.

For information about removing a directory, see the \i<\p\aRMDIR\v@RMDIR (RD)\v\i>\p command.

                                      
.context Del--Notes
.context @Del--Notes
:nDEL--Notes
:z3
\i\p\aExamples\v@Del--Examples\v\i\p  \i\p\aSyntax\v@Del (Erase)\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bDELÄÄNotes\p

\bUsing the /P switch\p

If you use the /P switch, DEL displays the name of a file and prompts you
with a message in the following format:

    filename, Delete (Y/N)?

Press Y to confirm the deletion, N to cancel the deletion and display the
next filename (if you specified a group of files), or CRTL+C to stop the DEL
command.

\bDeleting more than one file at a time\p

You can delete all the files in a directory by typing the DEL command
followed by [drive:]path. You can also use wildcards (* and ?) to delete
more than one file at a time. However, you should use wildcards cautiously
with the DEL command to avoid deleting files unintentionally. Suppose you
type the following command:

    del *.*

DEL displays the following prompt:

    All files in directory will be deleted! Are you sure (Y/N)?

Press Y and then ENTER to delete all files in the current directory, or
press N and then ENTER to cancel the deletion.

Before you use wildcards with the DEL command to delete a group of files,
you can use the same wildcards with the DIR command to see a list of the
names of all the files included in the group.

\bCAUTION:\p  Once you delete a file from your disk, you may not be able to
          retrieve it. Although the UNDELETE command can retrieve deleted
          files, it can do so with certainty only if no other files have
          been created or changed on the disk. If you accidentally delete a
          file that you want to keep, stop what you are doing and
          immediately use the UNDELETE command to retrieve the file.

          For more information on undeleting files, see "Recovering and
          Deleting Files" in the chapter "Diagnosing and Solving Problems"
          in the MS-DOS 6 User's Guide.

                                      
.context Del--Examples
.context @Del--Examples
:nDEL--Examples
:z3
\i\p\aSyntax\v@Del (Erase)\v\i\p  \i\p\aNotes\v@Del--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDELÄÄExamples\p

To delete all the files in a directory named TEST on drive C, you can use
either of the following commands:

    del c:\\test

    del c:\\test\\*.*

                                      
.context Device
.context @Device
:nDEVICE
:z3
\i\p\aNotes\v@Device--Notes\v\i\p  \i\p\aExample\v@Device--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bDEVICE\p

Loads into memory the device driver you specify.

\bSyntax\p

    DEVICE=[drive:][path] filename [dd-parameters]

\bParameters\p

[drive:][path] filename
    Specifies the location and name of the device driver you want to load.

[dd-parameters]
    Specifies any command-line information required by the device driver.

\bRelated Command\p

For information about loading device drivers into the upper memory area, see
the \i<\p\aDEVICEHIGH\v@Devicehigh\v\i>\p command.

                                      
.context Device--Notes
.context @Device--Notes
:nDEVICE--Notes
:z3
\i\p\aExample\v@Device--Example\v\i\p  \i\p\aSyntax\v@Device\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDEVICEÄÄNotes\p

\bUsing standard device drivers\p

The standard installable device drivers provided with MS-DOS are
\i<\p\aANSI.SYS\v@ANSI.SYS\v\i>\p, \i<\p\aDISPLAY.SYS\v@DISPLAY.SYS\v\i>\p, \i<\p\aDRIVER.SYS\v@DRIVER.SYS\v\i>\p, \i<\p\aDBLSPACE.SYS\v@DBLSPACE.SYS\v\i>\p, \i<\p\aEGA.SYS\v@EGA.SYS\v\i>\p,
\i<\p\aEMM386.EXE\v@EMM386.EXE\v\i>\p, \i<\p\aHIMEM.SYS\v@HIMEM.SYS\v\i>\p, \i<\p\aINTERLNK.EXE\v@INTERLNK.EXE\v\i>\p, \i<\p\aPOWER.EXE\v@POWER.EXE\v\i>\p, \i<\p\aRAMDRIVE.SYS\v@RAMDRIVE.SYS\v\i>\p,
\i<\p\aSETVER.EXE\v@SETVER.EXE\v\i>\p, and \i<\p\aSMARTDRV.EXE\v@SMARTDRV.EXE\v\i>\p.

The files COUNTRY.SYS and KEYBOARD.SYS are not device drivers. They are data
files for the COUNTRY and KEYB commands, respectively. Do not try to load
either of these files with the DEVICE command. If you do, your system halts,
and you cannot restart MS-DOS. For information about loading COUNTRY.SYS,
see the \i<\p\aCOUNTRY\v@Country\v\i>\p command. For information about loading KEYBOARD.SYS, see
the \i<\p\aKEYB\v@KEYB\v\i>\p command.

\bInstalling device drivers for other products\p

When you purchase a mouse, a scanner, or a similar product, the manufacturer
usually includes device-driver software. To install a device driver, specify
its location and name on a DEVICE command line.

\bInstalling a third-party console driver\p

If you install both DISPLAY.SYS and a third-party console driver, such as
VT52.SYS, the third-party device driver must be installed first. Otherwise,
the third-party device driver may disable DISPLAY.SYS.

\bInstalling multiple device drivers\p

Sometimes one installable device driver will require that it be loaded
before or after another in your CONFIG.SYS file. For example, EMM386.EXE
requires HIMEM.SYS to be loaded first. If the device driver requires that
another device driver be loaded before it, make sure the commands are listed
in the correct order in your CONFIG.SYS file.

                                      
.context Device--Example
.context @Device--Example
:nDEVICE--Example
:z3
\i\p\aSyntax\v@Device\v\i\p  \i\p\aNotes\v@Device--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDEVICEÄÄExample\p

If you plan to use an ANSI escape sequence to control the screen and
keyboard, you should add the following command to your CONFIG.SYS file
(assuming DOS files are in the DOS directory on drive C):

    device=c:\\dos\\ansi.sys

                                      
.context Devicehigh
.context @Devicehigh
:nDEVICEHIGH
:z3
\i\p\aNotes\v@Devicehigh--Notes\v\i\p  \i\p\aExample\v@Devicehigh--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bDEVICEHIGH\p

Loads device drivers into the upper memory area. Loading a device driver
into the upper memory area frees more bytes of conventional memory for other
programs. If upper memory is not available, the DEVICEHIGH command functions
just like the DEVICE command.

\bSyntax\p

    DEVICEHIGH [drive:][path] filename [dd-parameters]

To specify the region(s) of memory into which to load the device driver, use
the following syntax:

DEVICEHIGH= [[/L:region1[,minsize1][;region2[,minsize2] [/S]]
            [drive:][path] filename [dd-parameters]

\bSwitches\p

/L:region1[,minsize1][;region2[,minsize2]...
    Specifies one or more regions of memory into which to load the device
    driver. By default, MS-DOS loads the driver into the largest free
    upper-memory block (UMB), and makes all other UMBs available for the
    driver's use. You can use the /L switch to load the device driver into a
    specific region of memory or to specify which region(s) the driver can
    use.

    To load the driver into the largest block in a specific region of upper
    memory, specify the region number after the /L switch. For example, to
    load the driver into the largest free block in region 4, you would type
    /L:4. (To list the free areas of memory, type MEM /F at the command
    prompt.)

    When loaded with the /L switch, a device driver can use only the
    specified memory region. Some device drivers use more than one area of
    memory; for those drivers, you can specify more than one region. (To
    find out how a particular device driver uses memory, issue the MEM /M
    command and specify the device-driver name as an argument.) To specify
    two or more regions, separate the block numbers with a semicolon (;).
    For example, to use blocks 2 and 3, you would type /L:2;3.

    Normally, MS-DOS loads a driver into a UMB in the specified region only
    if that region contains a UMB larger than the driver's load size
    (usually equal to the size of the executable program file). If the
    driver requires more memory while running than it does when loaded, you
    can use the minsize parameter to ensure that the driver will not be
    loaded into a UMB that is too small for it. If you specify a value for
    minsize, MS-DOS loads the driver into that region only if it contains a
    UMB that is larger than both the driver's load size and the minsize
    value.

/S
    Shrinks the UMB to its minimum size while the driver is loading. Using
    this switch makes the most efficient use of memory. This switch is
    normally used only by the Memmaker program, which can analyze a device
    driver's memory use to determine whether the /S switch can be safely
    used when loading that driver. This switch can be used only in
    conjunction with the /L switch, and affects only UMBs for which a
    minimum size was specified.

\bParameters\p

[drive:][path] filename
    Specifies the location and name of the device driver you want to load
    into the upper memory area.

dd-parameters
    Specifies any command-line information required by the device driver.

\bRelated Commands\p

For information about loading programs into the upper memory area, see the
\i<\p\aLOADHIGH\v@LOADHIGH (LH)\v\i>\p command.

For information about loading device drivers into conventional memory, see
the \i<\p\aDEVICE\v@Device\v\i>\p command.

For information about using the MemMaker program to move programs to the
upper memory area, see the \i<\p\aMEMMAKER\v@MEMMAKER\v\i>\p command.

                                      
.context Devicehigh--Notes
.context @Devicehigh--Notes
:nDEVICEHIGH--Notes
:z3
\i\p\aExample\v@Devicehigh--Example\v\i\p  \i\p\aSyntax\v@Devicehigh\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDEVICEHIGHÄÄNotes\p

\bUsing the DOS=UMB command\p

To use the DEVICEHIGH command, you must also include the DOS=UMB command in
your CONFIG.SYS file. If you do not specify this command, all device drivers
are loaded into conventional memory, as if you had used the DEVICE command.
For more information about the UMB switch, see the \i<\p\aDOS\v@Dos\v\i>\p command.

\bUsing MemMaker to optimize upper memory area automatically\p

The MemMaker program, included with MS-DOS 6, automatically optimizes your
system's memory. MemMaker surveys the upper memory area, analyzes the memory
use of your drivers and programs, and determines which drivers and programs
fit best into the available UMBs. MemMaker then changes selected DEVICE
commands in your CONFIG.SYS file to DEVICEHIGH commands, and adds /L and /S
switches as necessary. For more information about using MemMaker to optimize
your computer's memory, see "Making More Memory Available" in the MS-DOS
User's Guide.

\bUsing MS-DOS 5 DEVICEHIGH Syntax\p

The version of DEVICEHIGH provided with MS-DOS 5 used the following syntax:

    DEVICEHIGH SIZE=hexsize [drive:][path] filename [dd-parameters]

Although the MS-DOS 5 DEVICEHIGH syntax will still work with MS-DOS 6, it is
strongly recommended that you use the current DEVICEHIGH syntax whenever
possible.

\bInstalling HIMEM.SYS and a UMB provider\p

To load a device driver into the upper memory area, your computer must have
extended memory. You must use the DEVICE command once to install the
HIMEM.SYS device driver and then again to install an upper-memory-block
(UMB) provider. These commands must appear before the DEVICEHIGH command in
your CONFIG.SYS file. If your computer has an 80386 or 80486 processor, you
can use EMM386.EXE as the UMB provider. If your computer has a different
processor, you must supply a different UMB provider.

\bIf no upper memory area is available\p

If there is not enough upper memory area available to load the device driver
you specified with the DEVICEHIGH command, MS-DOS will load it into
conventional memory (as if you had used the DEVICE command).

                                      
.context Devicehigh--Example
.context @Devicehigh--Example
:nDEVICEHIGH--Examples
:z3
\i\p\aSyntax\v@Devicehigh\v\i\p  \i\p\aNotes\v@Devicehigh--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bDEVICEHIGHÄÄExamples\p

If you include the following commands in your CONFIG.SYS file, MS-DOS
attempts to load a device driver named MYDRIV.SYS into the upper memory area
of an 80386 computer:

    device=c:\\dos\\himem.sys
    device=c:\\dos\\emm386.exe ram
    devicehigh=mydriv.sys
    dos=umb

If you include the following command in your CONFIG.SYS file, MS-DOS runs
the MOUSE.SYS driver in the upper memory area and specifies that MS-DOS
should load the driver into upper memory block 2:

    devicehigh=/L:2 C:\\drivers\\mouse.sys

The following command loads the MYDRIV.SYS driver into region 1 of upper
memory, and also allows the driver to use region 3 if it needs to:

    devicehigh=/L:1;3 C:\\util\\mydriv.sys

The following command loads the same driver into upper memory regions 1 and
3, but only if each region is at least 30K in size:

    devicehigh=/L:1,30;3,30 C:\\util\\mydriv.sys

                                      
.context Dir
.context @Dir
:nDIR
:z3
\i\p\aNotes\v@Dir--Notes\v\i\p  \i\p\aExamples\v@Dir--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bDIR\p

Displays a list of a directory's files and subdirectories.

When you use DIR without parameters or switches, it displays the disk's
volume label and serial number; one directory or filename per line,
including the filename extension, the file size in bytes, and the date and
time the file was last modified; and the total number of files listed, their
cumulative size, and the free space (in bytes) remaining on the disk.

\bSyntax\p

    DIR [drive:][path][filename] [/P] [/W]
    [/A[[:]attributes]][/O[[:]sortorder]] [/S] [/B] [/L] [C]

\bParameters\p

[drive:][path]
    Specifies the drive and directory for which you want to see a listing.

[filename]
    Specifies a particular file or group of files for which you want to see
    a listing.

\bSwitches\p

/P
    Displays one screen of the listing at a time. To see the next screen,
    press any key.

/W
    Displays the listing in wide format, with as many as five filenames or
    directory names on each line.

/A[[:] attributes]
    Displays only the names of those directories and files with the
    attributes you specify. If you omit this switch, DIR displays the names
    of all files except hidden and system files. If you use this switch
    without specifying attributes, DIR displays the names of all files,
    including hidden and system files. The following list describes each of
    the values you can use for attributes. The colon (:) is optional. Use
    any combination of these values, and do not separate the values with
    spaces.

    H
        Hidden files

    -H
        Files that are not hidden

    S
        System files

    -S
        Files other than system files

    D
        Directories

    -D
        Files only (not directories)

    A
        Files ready for archiving (backup)

    -A
        Files that have not changed since the last backup

    R
        Read-only files

    -R
        Files that are not read-only

/O[[:] sortorder]
    Controls the order in which DIR sorts and displays directory names and
    filenames. If you omit this switch, DIR displays the names in the order
    in which they occur in the directory. If you use this switch without
    specifying sortorder, DIR displays the names of the directories, sorted
    in alphabetic order, and then displays the names of files, sorted in
    alphabetic order. The colon (:) is optional. The following list
    describes each of the values you can use for sortorder. Use any
    combination of the values, and do not separate these values with
    spaces.

    N
        In alphabetic order by name

    -N
        In reverse alphabetic order by name (Z through A)

    E
        In alphabetic order by extension

    -E
        In reverse alphabetic order by extension (Z through A)

    D
        By date and time, earliest first

    -D
        By date and time, latest first

    S
        By size, smallest first

    -S
        By size, largest first

    G
        With directories grouped before files

    -G
        With directories grouped after files

    C
        By compression ratio, lowest first.

    -C
        By compression ratio, highest first.

/S
    Lists every occurrence, in the specified directory and all
    subdirectories, of the specified filename.

/B
    Lists each directory name or filename, one per line (including the
    filename extension). This switch displays no heading information and no
    summary. The /B switch overrides the /W switch.

/L
    Displays unsorted directory names and filenames in lowercase. This
    switch does not convert extended characters to lowercase.

/C
    Displays the compression ratio of files stored on Dblspace volumes. The
    /C switch is ignored when used with the /W or /B switch.

\bRelated Command\p

    For information about displaying the directory structure of a path or
    disk, see the \i<\p\aTREE\v@TREE\v\i>\p command.

    For information about compressing disks, see the \i<\p\aDBLSPACE\v@DBLSPACE\v\i>\p command.

                                      
.context Dir--Notes
.context @Dir--Notes
:nDIR--Notes
:z3
\i\p\aExamples\v@Dir--Examples\v\i\p  \i\p\aSyntax\v@Dir\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bDIRÄÄNotes\p

    \bUsing wildcards with DIR\p

    You can use wildcards (? and *) to display a listing of a subset of
    files and subdirectories. For an example illustrating the use of a
    wildcard, see the "Examples" screen.

    \bSpecifying file display attributes\p

    If you specify the /A switch with more than one value in attributes, DIR
    displays the names of only those files with all the specified
    attributes. For example, if you specify the /A switch with the R and -H
    values for attributes by using either /A:R-H or /AR-H, DIR displays only
    the names of read-only files that are not hidden.

    \bSpecifying filename sorting\p

    If you specify more than one sortorder value, DIR sorts the filenames by
    the first criterion first, then by the second criterion, and so on. For
    example, if you specify the /O switch with the E and -S values for
    sortorder by using either /O:E-S or /OE-S, DIR sorts the names of
    directories and files by extension, with the largest first, and displays
    the final result. The alphabetic sorting by extension causes filenames
    with no extensions to appear first, then directory names, then filenames
    with extensions.

    \bSetting date and time formats\p

    The date and time formats used by DIR depend on the country setting you
    use in your CONFIG.SYS file. If you don't use the COUNTRY command, the
    formats are those for the United States.

    \bUsing redirection symbols and pipes\p

    When you use a redirection symbol (>) to send DIR output to a file or a
    pipe (|) to send DIR output to another command, use the /A:-D and /B
    switches to list only the filenames. You can use the filename parameter
    with the /B and /S switches to specify that DIR is to search the current
    directory and its subdirectories for all filenames that match filename.
    DIR lists only the drive letter, directory name, filename, and filename
    extension, one path per line, for each filename it finds.

    Before using a pipe for redirection, you should set the TEMP environment
    variable in your AUTOEXEC.BAT file. Otherwise, the temporary file will
    appear in the directory listing.

    \bPresetting DIR parameters and switches\p

    You can preset DIR parameters and switches by including the SET command
    with the DIRCMD environment variable in your AUTOEXEC.BAT file. You can
    use any valid combination of DIR parameters and switches with the SET
    DIRCMD command, including the location and name of a file.

    For example, to use the DIRCMD environment variable to set the wide
    display format (/W) as the default format, include the following command
    in your AUTOEXEC.BAT file:

    set dircmd=/w

For a single use of the DIR command, you can override a switch set by using
the DIRCMD environment variable. To do so, you use the same switch on the
DIR command line, but you must also precede the switch letter with a minus
sign, as the following example shows:

    dir /-w

You can change the DIRCMD default settings by typing the SET command at the
command prompt with a new parameter or switch after the equal sign (=). The
new default settings are effective for all subsequent DIR commands until you
use SET DIRCMD again on the command line or until you restart MS-DOS.

To clear all default settings, type the following command:

    set dircmd=

You can view the current settings of the DIRCMD environment variable by
typing the following command:

    set

MS-DOS displays a list of environment variables and their settings. For more
information about setting environment variables, see the \i<\p\aSET\v@SET\v\i>\p command.

                                      
.context Dir--Examples
.context @Dir--Examples
:nDIR--Examples
:z3
\i\p\aSyntax\v@Dir\v\i\p  \i\p\aNotes\v@Dir--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDIRÄÄExamples\p

Suppose you want to display all files and directories in a directory,
including hidden or system files. To specify this display, type the
following command:

    dir /a

Suppose you want DIR to display one directory listing after another, until
it has displayed the listing for every directory on the disk in the current
drive. Suppose also that you want DIR to alphabetize each directory listing,
display it in wide format, and pause after each screen. To specify such a
display, be sure the root directory is the current directory and then type
the following command:

    dir /s/w/o/p

DIR lists the name of the root directory, the names of the subdirectories of
the root directory, and the names of the files in the root directory
(including extensions). Then DIR lists the subdirectory names and filenames
in each subdirectory in the directory tree.

To alter the preceding example so that DIR displays the filenames and
extensions but omits the directory names, type the following command:

    dir /s/w/o/p/a:-d

To print a directory listing, type the redirection symbol and PRN after any
form of the DIR command, as the following example shows:

    dir > prn

When you specify PRN on the DIR command line, the directory listing is sent
to the printer attached to the LPT1 port. If your printer is attached to a
different port, you must replace PRN with the name of the correct port.

You can also redirect output of the DIR command to a file by replacing PRN
with a filename. A path is also accepted on the command line. For example,
to direct DIR output to the file DIR.DOC in the RECORDS directory, type the
following command:

    dir > \\records\\dir.doc

If DIR.DOC does not exist, MS-DOS creates it, unless the directory RECORDS
also does not exist. In that case, MS-DOS displays the following message:

    File creation error

To display a list of all the filenames with the .TXT extension in all
directories on drive C, type the following command:

    dir c:\\*.txt /w/o/s/p

DIR displays, in wide format, an alphabetized list of the matching filenames
in each directory and pauses each time the screen fills, until you press a
key to continue.

                                      
.context Diskcomp
.context @Diskcomp
:nDISKCOMP
:z3
\i\p\aNotes\v@Diskcomp--Notes\v\i\p  \i\p\aExamples\v@Diskcomp--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bDISKCOMP\p

Compares the contents of two floppy disks.

This command performs a track-by-track comparison. DISKCOMP determines the
number of sides and sectors per track to compare based on the format of the
first disk you specify.

\bSyntax\p

    DISKCOMP [drive1: [drive2:]] [/1] [/8]

\bParameters\p

drive1:
    Specifies the drive containing one of the floppy disks.

drive2:
    Specifies the drive containing the other floppy disk.

\bSwitches\p

/1
    Compares only the first sides of the disks, even if the disks are
    double-sided and the drives can read double-sided disks.

/8
    Compares only the first 8 sectors per track, even if the disks contain 9
    or 15 sectors per track.

\bRelated Command\p

For information about comparing two files, see the \i<\p\aFC\v@Fc\v\i>\p command.

                                      
.context Diskcomp--Notes
.context @Diskcomp--Notes
:nDISKCOMP--Notes
:z3
\i\p\aExamples\v@Diskcomp--Examples\v\i\p  \i\p\aSyntax\v@Diskcomp\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDISKCOMPÄÄNotes\p

\bInvalid drive for DISKCOMP\p

The DISKCOMP command works only with floppy disks. You cannot use DISKCOMP
with a hard disk. If you specify a hard disk drive for drive1 or drive2,
DISKCOMP displays the following error message:

    Invalid drive specification
    Specified drive does not exist
    or is non-removable

\bDISKCOMP messages\p

If all tracks on the two disks being compared are the same, DISKCOMP
displays the following message:

    Compare OK

If the tracks are not the same, DISKCOMP displays a message similar to the
following:

    Compare error on
    side 1, track 2

When DISKCOMP completes the comparison, it displays the following message:

    Compare another diskette (Y/N)?

If you press Y, DISKCOMP prompts you to insert disks for the next
comparison. If you press N, DISKCOMP stops the comparison.

DISKCOMP ignores a disk's volume number when it makes the comparison.

\bOmitting drive parameters\p

If you omit the drive2 parameter, DISKCOMP uses the current drive for
drive2.If you omit both drive parameters, DISKCOMP uses the current drive
for both. If the current drive is the same as drive1, DISKCOMP prompts you
to swap disks as necessary.

\bUsing one drive for the comparison\p

If you specify the same floppy disk drive for drive1 and drive2, DISKCOMP
does a comparison by using one drive and prompts you to insert the disks as
necessary. You might have to swap the disks more than once, depending on the
capacity of the disks and the amount of available memory.

\bComparing different types of disks\p

DISKCOMP cannot compare a single-sided disk with a double-sided disk, nor a
high-density disk with a double-density disk. If the disk in drive1 is not
of the same type as the disk in drive2, DISKCOMP displays the following
message:

    Drive types or diskette types not compatible

\bUsing DISKCOMP with networks and redirected drives\p

DISKCOMP does not work on a network drive or on a drive created or affected
by a SUBST command. If you attempt to use DISKCOMP with a network drive or a
drive created by the SUBST command, DISKCOMP displays an error message.

\bComparing an original disk with a copy\p

When you use DISKCOMP with a disk that you made with the COPY command,
DISKCOMP may display a message similar to the following:

    Compare error on
    side 0, track 0

This type of error can occur even if the files on the disks are identical.
Although the COPY command duplicates information, it doesn't necessarily
place it in the same location on the destination disk. For more information
about comparing individual files on two disks, see the \i<\p\aFC\v@Fc\v\i>\p command.

\bDISKCOMP exit codes\p

The following list shows each exit code and a brief description of its
meaning:

0
    The disks are the same.

1
    Differences were found.

2
    The user pressed CTRL+C to stop the process.

3
    A critical error occurred.

4
    An initialization error occurred.

You can use the ERRORLEVEL parameter on the IF command line in a batch
program to process exit codes returned by DISKCOMP.

                                      
.context Diskcomp--Examples
.context @Diskcomp--Examples
:nDISKCOMP--Examples
:z3
\i\p\aSyntax\v@Diskcomp\v\i\p  \i\p\aNotes\v@Diskcomp--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDISKCOMPÄÄExamples\p

If your system has only one floppy disk drive, drive A, and you want to
compare two disks, type the following command:

    diskcomp a: a:

DISKCOMP prompts you to insert each disk, as required.

                                      
.context Diskcopy
.context @Diskcopy
:nDISKCOPY
:z3
\i\p\aNotes\v@Diskcopy--Notes\v\i\p                                                                     
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bDISKCOPY\p

Copies the contents of the floppy disk in the source drive to a formatted or
unformatted floppy disk in the destination drive. DISKCOPY destroys the
existing contents of the destination disk as it copies the new information
to it.

This command determines the number of sides to copy based on the source
drive and disk.

\bSyntax\p

    DISKCOPY [drive1: [drive2:]] [/1] [/V]

\bParameters\p

drive1:
    Specifies the drive containing the source disk.

drive2:
    Specifies the drive containing the destination disk.

\bSwitches\p

/1
    Copies only the first side of a disk.

/V
    Verifies that the information is copied correctly. Use of this switch
    slows the copying process.

\bRelated Commands\p

For information about copying one or more files, see the \i<\p\aCOPY\v@Copy\v\i>\p command.

For information about copying directories and subdirectories, see the
\i<\p\aXCOPY\v@XCOPY\v\i>\p command.

For information about comparing two disks to see if they are identical, see
the \i<\p\aDISKCOMP\v@Diskcomp\v\i>\p command.

                                      
.context Diskcopy--Notes
.context @Diskcopy--Notes
:nDISKCOPY--Notes
:z3
\i\p\aSyntax\v@Diskcopy\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDISKCOPYÄÄNotes\p

\bInvalid drive for DISKCOPY\p

The DISKCOPY command works only with removable disks, such as floppy disks.
You cannot use DISKCOPY with a hard disk. If you specify a hard disk drive
for drive1 or drive2, DISKCOPY displays the following error message:

    Invalid drive specification
    Specified drive does not exist
    or is non-removable

\bDISKCOPY messages\p

The DISKCOPY command prompts you to insert the source and destination disks
and waits for you to press any key before continuing.

After copying, DISKCOPY displays the following message:

    Copy another diskette (Y/N)?

If you press Y, DISKCOPY prompts you to insert source and destination disks
for the next copy operation. To stop the DISKCOPY process, press N.

If you are copying to an unformatted floppy disk in drive2, DISKCOPY formats
the disk with the same number of sides and sectors per track as are on the
disk in drive1. DISKCOPY displays the following message while it formats the
disk and copies the files:

    Formatting while copying

If the capacity of the source disk is greater than that of the destination
disk and your computer can detect this difference, DISKCOPY displays the
following message:

    TARGET media has lower capacity than SOURCE
    Continue anyway (Y/N)?

If you press Y, DISKCOPY attempts to format the destination disk and copy
the files.

\bDisk serial numbers\p

If the source disk has a volume serial number, DISKCOPY creates a new volume
serial number for the destination disk and displays the number when the copy
operation is complete.

\bOmitting drive parameters\p

If you omit the drive2 parameter, DISKCOPY uses the current drive as the
destination drive. If you omit both drive parameters, DISKCOPY uses the
current drive for both. If the current drive is the same as drive1, DISKCOPY
prompts you to swap disks as necessary.

\bUsing one drive for copying\p

If drive1 and drive2 are the same, DISKCOPY prompts you whenever you should
switch disks. If you omit both drive parameters and the current disk drive
is a floppy disk drive, DISKCOPY prompts you each time you should insert a
disk in the drive. If the disks contain more information than available
memory can hold, DISKCOPY cannot read all of the information at once.
DISKCOPY reads from the source disk, writes to the destination disk, and
prompts you to insert the source disk again. This process continues until
the entire disk has been copied.

\bAvoiding disk fragmentation\p

Because DISKCOPY makes an exact copy of the source disk on the destination
disk, any fragmentation on the source disk is transferred to the destination
disk. Fragmentation is the presence of small areas of unused disk space
between existing files on a disk.

A fragmented source disk can slow down the finding, reading, or writing of
files. To avoid transferring fragmentation from one disk to another, use
either the COPY command or the XCOPY command to copy your disk. Because COPY
and XCOPY copy files sequentially, the new disk is not fragmented.

\bCopying Startup Disks\p

If you use the DISKCOPY command to copy a startup disk, the copy will also
be a startup disk. If you use COPY or XCOPY to copy a startup disk, the copy
usually will not be a startup disk.

\bDISKCOPY exit codes\p

The following list briefly describes the meaning of each DISKCOPY exit code
(errorlevel):

0
    The copy operation was successful.

1
    A nonfatal read/write error occurred.

2
    The user pressed CTRL+C to stop the process.

3
    A critical error occurred.

4
    An initialization error occurred.

You can use the ERRORLEVEL parameter on the IF command line in a batch
program to process exit codes returned by DISKCOPY. For an example of a
batch program that processes exit codes, see the \i<\p\aDISKCOMP\v@Diskcomp\v\i>\p command.

                                      
.context DISPLAY.SYS
.context @DISPLAY.SYS
:nDISPLAY.SYS
:z3
\i\p\aNotes\v@DISPLAY.SYS--Note\v\i\p  \i\p\aExample\v@DISPLAY.SYS--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bDISPLAY.SYS\p

Supports code-page switching for the console.

\bSyntax\p

    DEVICE=[drive:][path]DISPLAY.SYS CON[:]=(type[,[hwcp][,n]])

    DEVICE=[drive:][path]DISPLAY.SYS CON[:]=(type[,[hwcp][,(n,m)]])

\bParameters\p

[drive:][path]
    Specifies the location of the DISPLAY.SYS file.

type
    Specifies the display adapter in use. Valid values include EGA and
    LCD. The EGA value supports both EGA and VGA display adapters. If
    you omit the type parameter, DISPLAY.SYS checks the hardware to
    determine which display adapter is in use. You can also specify CGA
    and MONO as values for type, but they have no effect because
    code-page switching is not enabled for these devices.

hwcp
    Specifies the number of the code page that your hardware supports. The
    following list shows the code pages that MS-DOS supports and the
    country or language for each:

    437    United States
    850    Multilingual (Latin I)
    852    Slavic (Latin II)
    860    Portuguese
    863    Canadian-French
    865    Nordic

n
    Specifies the number of code pages the hardware can support in addition
    to the primary code page specified for the hwcp parameter. Valid
    values for n are in the range 0 through 6. This value depends on your
    hardware. For EGA display adapters, the maximum value for n is 6; for
    LCD display adapters, the maximum value for n is 1.

m
    Specifies the number of subfonts the hardware supports for each code
    page. The default value is 2 if type is EGA, and 1 if type is
    LCD.

                                      
.context DISPLAY.SYS--Note
.context @DISPLAY.SYS--Note
:nDISPLAY.SYS--Notes
:z3
\i\p\aExample\v@DISPLAY.SYS--Example\v\i\p  \i\p\aSyntax\v@DISPLAY.SYS\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDISPLAY.SYSÄÄNotes\p

\bUsing DISPLAY.SYS with monochrome or CGA display adapters\p

Because monochrome and CGA display adapters do not support code page
switching, using DISPLAY.SYS with either type of adapter has no effect.

\bInstalling a third-party console driver\p

If you install both DISPLAY.SYS and a third-party console driver, such as
VT52.SYS, the third-party device driver must be installed first. Otherwise,
the third-party device driver may disable DISPLAY.SYS.

                                      
.context DISPLAY.SYS--Example
.context @DISPLAY.SYS--Example
:nDISPLAY.SYS--Example
:z3
\i\p\aSyntax\v@DISPLAY.SYS\v\i\p  \i\p\aNote\v@DISPLAY.SYS--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bDISPLAY.SYSÄÄExample\p

Suppose you want DISPLAY.SYS to support an EGA display adapter with the
United States hardware code page (437) and the potential for two additional
MS-DOS code pages. To do this and to specify that DISPLAY.SYS is in the DOS
directory on drive C, add the following line to your CONFIG.SYS file:

    device=c:\\dos\\display.sys con=(ega,437,2)

                                      
.context Dos
.context @Dos
:nDOS
:z3
\i\p\aNotes\v@Dos--Notes\v\i\p                                                                     
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bDOS\p

Specifies that MS-DOS is to manage upper memory blocks (UMBs) created by an
upper memory block manager, and is to load part of itself into the high
memory area (HMA).

\bSyntax\p

    DOS=HIGH|LOW[,UMB|,NOUMB]

    DOS=[HIGH,|LOW,]UMB|NOUMB

\bParameters\p

UMB|NOUMB
    Specifies whether MS-DOS should manage upper memory blocks (UMBs)
    created by an UMB provider such as EMM386.EXE. The UMB parameter
    specifies that MS-DOS should manage UMBs, if they exist. The NOUMB
    parameter specifies that MS-DOS should not manage UMBs. The default
    setting is NOUMB.

HIGH|LOW
    Specifies whether MS-DOS should attempt to load a part of itself into
    the HMA. Use the HIGH parameter to enable MS-DOS to load itself into the
    HMA. Use the LOW parameter to keep all of MS-DOS in conventional memory.
    The default setting is LOW.

\bRelated Commands\p

For information about loading a device driver into the upper memory area,
see the \i<\p\aDEVICEHIGH\v@Devicehigh\v\i>\p command.

For information about loading a program into the upper memory area, see the
\i<\p\aLOADHIGH\v@LOADHIGH (LH)\v\i>\p command.

                                      
.context Dos--Notes
.context @Dos--Notes
:nDOS--Notes
:z3
\i\p\aSyntax\v@Dos\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bDOSÄÄNotes\p

\bMust install HIMEM.SYS for DOS=UMB or DOS=HIGH\p

You must install the HIMEM.SYS device driver or another extended memory
manager before you specify either DOS=UMB or DOS=HIGH.

\bUsing the UMB parameter\p

You must specify the DOS=UMB command in order to load programs and device
drivers into the upper memory area. Using the upper memory area frees more
space in conventional memory for programs. In addition to using this
command, you must install an upper-memory-block (UMB) provider. If your
computer has an 80386 or 80486 processor, you can use \i<\p\aEMM386.EXE\v@EMM386.EXE\v\i>\p for your
UMB provider.

If you specify DOS=UMB and no UMB provider is installed, MS-DOS will not
display an error message.

\bUsing the HIGH parameter\p

If you specify the HIGH parameter, MS-DOS attempts to load part of itself
into the HMA. Loading part of MS-DOS into the HMA frees conventional memory
for programs. If you specify DOS=HIGH and MS-DOS is unable to use the HMA,
the following message will appear:

    HMA not available
    Loading DOS low

\bCombining parameters\p

You can include more than one parameter on a single DOS command line, using
commas to separate them. For example, the following command lines are
valid:

    dos=umb,low

    dos=high,umb

You can place the dos command anywhere in your CONFIG.SYS file.

                                      
.context DOSBACK
.context @DOSBACK
:nDOSBACK
:z3
\i\p\aNote\v@DOSBACK--Note\v\i\p  \i\p\aExample\v@DOSBACK--Example\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bDOSBACK\p

Backs up or restores one or more files from one disk onto another.

You can back up all files on a disk or files that have changed since your
last backup, schedule backups so they are done automatically on a regular
basis, and restore files that you have backed up.

\bSyntax\p

DOSBACK [setup_file] [/T[type]] [/BW|/LCD|/MDA]

\bParameter\p

setup_file
    Specifies the setup file that defines files to back up and the type of
    backup you want to perform. DOSBACK creates a setup file when you save
    program settings and file selections. Setup files must have an SET
    extension. If you do not specify a setup file, DOSBACK uses
    DEFAULT.SET.

\bSwitches\p

T[type]
    Specifies the type of backup you want to perform. The following list
    describes types of backups. You can specify only one type of backup.

    F
        Full backup. Backs up all files specified in the setup file.

    I
        Incremental backup. Backs up all files specified in the setup file,
        provided the files have changed since the last full or incremental
        backup.

    D
        Differential backup. Backs up all files specified in the setup file,
        provided they have changed since that last full backup.

/BW
    Starts DOSBACK using a black-and-white color scheme.

/LCD
    Starts DOSBACK using a video mode compatible with laptop displays.

/MDA
    Starts DOSBACK using a monochrome display adapter.

                                      
.context DOSBACK--Note
.context @DOSBACK--Note
:nDOSBACK--Note
:z3
\i\p\aExample\v@DOSBACK--Example\v\i\p  \i\p\aSyntax\v@DOSBACK\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDOSBACKÄÄNote\p

\bNote\p

Notes to be supplied

                                      
.context DOSBACK--Example
.context @DOSBACK--Example
:nDOSBACK--Example
:z3
\i\p\aSyntax\v@DOSBACK\v\i\p  \i\p\aNote\v@DOSBACK--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDOSBACKÄÄExample\p

Suppose you created a setup file named WEEKLY.SET that defines a weekly full
backup procedure on specified files. To use this setup file, but perform an
incremental backup instead of a full backup, type the following at the
command line:

    dosback weekly /ti

                                      
.context DOSHELP
.context @DOSHELP
:nDOSHELP
:z3
\i\p\aNote\v@DOSHELP--Note\v\i\p                                                                      
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bDOSHELP\p

Provides online information about the MS-DOS version 6 commands.

The information that this command displays is similar to, but less detailed
than, that found in MS-DOS Help.

\bSyntax\p

    DOSHELP [command]

    [command] /?

\bParameter\p

command
    Specifies the name of the command about which you want information. If
    you do not specify a command name, the DOSHELP command lists and briefly
    describes every command provided with MS-DOS 6.

\bRelated Command\p

For information about MS-DOS Help, see the \i<\p\aHELP\v@Help\v\i>\p command.

                                      
.context DOSHELP--Note
.context @DOSHELP--Note
:nDOSHELP--Note
:z3
\i\p\aSyntax\v@DOSHELP\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDOSHELPÄÄNote\p

There are two ways to use DOSHELP to get online Help for a command. You can
specify the name of the command on the DOSHELP command line, or you can type
the name of the command and the /? switch at the command prompt. For
example, you can type either of the following commands to get information
about the XCOPY command:

    doshelp xcopy

    xcopy /?

The second command is slightly faster.

                                      
.context Doskey
.context @Doskey
:nDOSKEY
:z3
\i\p\aNotes\v@Doskey--Notes\v\i\p  \i\p\aExamples\v@Doskey--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bDOSKEY\p

Starts the Doskey program, which recalls MS-DOS commands, edits command
lines, and creates macros.

The Doskey program is a terminate-and-stay-resident program. You can use
Doskey to customize and automate MS-DOS command lines. When installed,
Doskey occupies about 3 kilobytes of resident memory.

\bSyntax\p

    DOSKEY [/REINSTALL] [/BUFSIZE=size] [/MACROS]
    [/HISTORY][/INSERT|/OVERSTRIKE] [macroname=[text]]

To start the Doskey program and use the default settings, use the following
syntax:

    DOSKEY

\bParameter\p

macroname=[text]
    Creates a macro that carries out one or more MS-DOS commands (a Doskey
    macro). Macroname specifies the name you want to assign to the macro.
    Text specifies the commands you want to record.

\bSwitches\p

/REINSTALL
    Installs a new copy of the Doskey program, even if one is already
    installed. In the latter case, the /REINSTALL switch also clears the
    buffer.

/BUFSIZE=size
    Specifies the size of the buffer in which Doskey stores commands and
    Doskey macros. The default size is 512 bytes. The minimum buffer size is
    256 bytes.

/MACROS
    Displays a list of all Doskey macros. You can use a redirection symbol
    (>) with the /MACROS switch to redirect the list to a file. You can
    abbreviate the /MACROS switch as /M.

/HISTORY
    Displays a list of all commands stored in memory. You can use a
    redirection symbol (>) with the /HISTORY switch to redirect the list to
    a file. You can abbreviate the /HISTORY switch as /H.

/INSERT|/OVERSTRIKE
    Specifies whether new text you type is to replace old text. If you use
    the /INSERT switch, new text that you type on a line is inserted into
    old text (as if you had pressed the INSERT key). If you use the
    /OVERSTRIKE switch, new text replaces old text. The default setting is
    /OVERSTRIKE.

                                      
.context Doskey--Notes
.context @Doskey--Notes
:nDOSKEY--Notes
:z3
\i\p\aExamples\v@Doskey--Examples\v\i\p  \i\p\aSyntax\v@Doskey\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bDOSKEYÄÄNotes\p

\bRecalling a command\p

To recall a command, you can use any of the following keys after loading
Doskey into memory:

UP ARROW
    Recalls the MS-DOS command you used before the one displayed.

DOWN ARROW
    Recalls the MS-DOS command you used after the one displayed.

PAGE UP
    Recalls the oldest MS-DOS command you used in the current session.

PAGE DOWN
    Recalls the most recent MS-DOS command you used.

\bEditing the command line\p

With the Doskey program, you can edit the current command line. The
following list describes the Doskey editing keys and their functions:

LEFT ARROW
    Moves the cursor back one character.

RIGHT ARROW
    Moves the cursor forward one character.

CTRL+LEFT ARROW
    Moves the cursor back one word.

CTRL+RIGHT ARROW
    Moves the cursor forward one word.

HOME
    Moves the cursor to the beginning of the line.

END
    Moves the cursor to the end of the line.

ESC
    Clears the command from the display.

F1
    Copies one character from the template to the MS-DOS command line. (The
    template is a memory buffer that holds the last command you typed.)

F2
    Searches forward in the template for the next key you type after
    pressing F2. Doskey inserts the text from the template up to but not
    including the character you specify.

F3
    Copies the remainder of the template to the command line. Doskey begins
    copying characters from the position in the template that corresponds to
    the position indicated by the cursor on the command line.

F4
    Deletes characters, beginning with the current character position, up to
    a character you specify. To use this editing key, you press F4 and type
    a character. Doskey deletes up to, but not including, that character.

F5
    Copies the current command into the template and clears the command
    line.

F6
    Places an end-of-file character (CTRL+Z) at the current position on the
    command line.

F7
    Displays all commands stored in memory, with their associated numbers.
    Doskey assigns these numbers sequentially, beginning with 1 for the
    first (oldest) command stored in memory.

ALT+F7
    Deletes all commands stored in memory.

F8
    Searches memory for a command that you want Doskey to display. To use
    this editing key, type the first character, or the first few characters,
    of the command you want Doskey to search for and then press F8. Doskey
    displays the most recent command that begins with the text you typed.
    Press F8 repeatedly to cycle through all the commands that start with
    the characters you specified.

F9
    Prompts you for a command number and displays the command associated
    with the number you specify. To display all the numbers and their
    associated commands, press F7.

ALT+F10
    Deletes all macro definitions.

\bSpecifying a default insert mode\p

If you press the INSERT key, you can type text on the Doskey command line in
the middle of old text without replacing the old text. However, once you
press ENTER, Doskey returns your keyboard to replace mode. You must press
INSERT again to return to insert mode.

The /INSERT switch puts your keyboard in insert mode each time you press
ENTER. Your keyboard effectively remains in insert mode until you use the
/OVERSTRIKE switch. You can temporarily return to replace mode by pressing
the INSERT key; but once you press ENTER, Doskey returns your keyboard to
insert mode.

The cursor changes shape when you use the INSERT key to change from one mode
to the other.

\bCreating a macro\p

You can use the Doskey program to create macros that carry out one or more
MS-DOS commands.

You can use the following special characters to control command operations
when defining a macro:

$G or $g
    Redirects output. Use either of these special characters to send output
    to a device or a file instead of to the screen. This character is
    equivalent to the redirection symbol for output (>).

$G$G or $g$g
    Appends output to the end of a file. Use either of these special double
    characters to append output to an existing file rather than replace the
    data in the file. These double characters are equivalent to the "append"
    redirection symbol for output (>>).

$L or $l
    Redirects input. Use either of these special characters to read input
    from a device or a file instead of from the keyboard. This character is
    equivalent to the redirection symbol for input (<).

$B or $b
    Sends macro output to a command. Using one of these special characters
    is equivalent to using the pipe (|) on a command line.

$T or $t
    Separates commands. Use either of these special characters to separate
    commands when you are creating macros or typing commands on the Doskey
    command line.

$$
    Specifies the dollar-sign character ($).

$1 through $9
    Represents any command-line information you want to specify when you run
    the macro. The special characters $1 through $9 are batch parameters,
    which make it possible for you to use different data on the command line
    each time you run the macro. The $1 character in a DOSKEY command is
    similar to the %1 character in a batch program.

$*
    Represents all the command-line information you want to specify when you
    type the macro name. The special character $* is a replaceable parameter
    that is similar to the batch parameters $1 through $9, with one
    important difference. Here, everything you type on the command line
    after the macro name is substituted for the $* in the macro.

For example, to create a macro that performs a quick and unconditional
format of a disk, type the following command:

    doskey qf=format $1 /q /u

For information about quick and unconditional formatting, see the \i<\p\aFORMAT\v@Format\v\i>\p
command.

You can use the DOSKEY command in a batch program to create a macro.

\bRunning a macro\p

To run a macro, type the macro name starting at the first position on the
command line. If the macro was defined with $* or any of the batch
parameters $1 through $9, use a space to separate parameters.

You could run the QF macro created in the previous example to format a disk
in drive A quickly and unconditionally. To do so, you would type the
following command:

    qf a:

You cannot run a macro from a batch program.

\bCreating a macro with the same name as an MS-DOS command\p

You might want to create a macro that has the same name as an MS-DOS
command. This can be useful, for example, if you always use a certain
command with specific switches. To specify whether you want to run the macro
or the MS-DOS command, follow these guidelines:

  To run the macro, begin typing the macro name immediately after the
   command prompt, with no space between the prompt and the command name.

  To carry out the command, insert one or more spaces between the command
   prompt and the command name.

\bDeleting a macro\p

To delete a macro type the following command:

    doskey macroname=

                                      
.context Doskey--Examples
.context @Doskey--Examples
:nDOSKEY--Examples
:z3
\i\p\aSyntax\v@Doskey\v\i\p  \i\p\aNotes\v@Doskey--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDOSKEYÄÄExamples\p

The /MACROS and /HISTORY switches are useful for creating batch programs to
save macros and commands. For example, to create a batch program named
MACINIT.BAT that includes all Doskey macros, type the following command:

    doskey /macros > macinit.bat

To use the MACINIT.BAT file, edit it to include the DOSKEY command at the
beginning of each macro line.

To create a batch program named TMP.BAT that contains recently used
commands, type the following command:

    doskey /history >  tmp.bat

To define a macro with multiple commands, use $T to separate commands, as
follows:

    doskey tx=cd\\temp$tdir/w $*

In the preceding example, the TX macro changes the current directory to TEMP
and then displays a directory listing, using the wide display format. You
can use $* at the end of the macro to append other switches to the DIR
command when you run TX.

The following macro uses a batch parameter for a new directory name. The
macro first creates a new directory and then changes to it from the current
directory.

    doskey mc=md $1$tcd $1

To use the preceding macro to create and change to a directory named BOOKS,
you type the following:

    mc books

To create a macro that uses batch parameters for moving a file or group of
files, type the following command:

    doskey mv=copy $1 $2 $t del $1

To create a macro that always causes the MEM command to pause after each
screen, type the following command:

    doskey mem=mem $* /p

                                      
.context Dosshell
.context @Dosshell
:nDOSSHELL
:z3
\i\p\aNotes\v@Dosshell--Notes\v\i\p  \i\p\aExample\v@Dosshell--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bDOSSHELL\p

Starts MS-DOS Shell, a graphical interface to MS-DOS.

\bSyntax\p

To start MS-DOS Shell in text mode, use the following syntax:

    DOSSHELL [/T[:res[n]]] [/B]

To start MS-DOS Shell in graphics mode, use the following syntax:

    DOSSHELL [/G[:res[n]]] [/B]

\bParameters\p

res
    Specifies a screen-resolution category. Valid values are L, M, and H to
    specify low, medium, and high resolution, respectively. The default
    value of res depends on your hardware.

n
    Specifies a screen resolution when there is more than one choice within
    a category. For information about the valid values for this parameter,
    see the "Note" screen. The default value of n depends on your hardware.

\bSwitches\p

/T
    Starts MS-DOS Shell in text mode.

/B
    Starts MS-DOS Shell using a black-and-white color scheme.

/G
    Starts MS-DOS Shell in graphics mode.

                                      
.context Dosshell--Notes
.context @Dosshell--Notes
:nDOSSHELL--Notes
:z3
\i\p\aExample\v@Dosshell--Example\v\i\p  \i\p\aSyntax\v@Dosshell\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDOSSHELLÄÄNotes\p

\bRunning MS-DOS Shell with Microsoft Windows\p

Do not start Microsoft Windows from within MS-DOS Shell. If you want to use
both Microsoft Windows and MS-DOS Shell, start Windows, and then start
MS-DOS Shell from within Windows.

\bMemory requirement\p

To run MS-DOS Shell, you should ensure that your computer has at least 384K
of available conventional memory.

\bAdjusting screen resolution\p

Once you have started MS-DOS Shell, you can adjust the screen resolution by
using the Display command on the Options menu. A dialog box displays the
mode (text or graphics), the number of lines, the resolution category, and
the specific number within each category for all possible screen-resolution
modes available for your hardware.

\bThe DOSSHELL.INI file\p

Your current MS-DOS Shell settings for program items and groups, options,
screen resolution, colors, and so on, are stored in a file called
DOSSHELL.INI. The DOSSHELL.INI file will be updated whenever you make a
change or start a program item, so it must be located on a drive which is
not write-protected. You can specify the location of the DOSSHELL.INI file
by setting a DOSSHELL environment variable in your AUTOEXEC.BAT file.

For example, if the DOSSHELL.INI file is located in the DOS directory on
drive C, type the following command in your AUTOEXEC.BAT file:

    dosshell=c:\\dos

If you customize the Shell to suit your own needs, you should back up this
file regularly. If the DOSSHELL.INI file is deleted or corrupted, a new file
will be created the next time you start MS-DOS Shell.

\bSetting the location to store temporary files\p

When you run a program from MS-DOS Shell, temporary files are created in the
directory where the DOSSHELL.EXE file is located. You can specify that
temporary files should be placed elsewhere by setting the TEMP environment
variable in your AUTOEXEC.BAT file.

                                      
.context Dosshell--Example
.context @Dosshell--Example
:nDOSSHELL--Example
:z3
\i\p\aSyntax\v@Dosshell\v\i\p  \i\p\aNotes\v@Dosshell--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDOSSHELLÄÄExample\p

To start MS-DOS Shell in graphics mode, type the following command:

    dosshell /g

                                      
.context DRIVER.SYS
.context @DRIVER.SYS
:nDRIVER.SYS
:z3
\i\p\aNotes\v@DRIVER.SYS--Note\v\i\p  \i\p\aExample\v@DRIVER.SYS--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bDRIVER.SYS\p

Creates a logical drive that you can use to refer to a physical floppy disk
drive.

A logical drive is a pointer to a physical disk drive in your system. The
logical drive is associated with a drive letter (for example, A or B). You
can specify parameters to describe the disk drive to MS-DOS.

\bSyntax\p

    DEVICE=[drive:][path]DRIVER.SYS /D:number [/C] [/F:factor] [/H:heads]
    [/S:sectors] [/T:tracks]

\bParameter\p

[drive:][path]
    Specifies the location of the DRIVER.SYS file.

\bSwitches\p

/D:number
    Specifies the number of the physical floppy disk drive. Valid values
    for number are in the range 0 through 127. The first physical floppy
    disk drive (drive A) is drive 0; a second physical floppy disk drive is
    drive 1; a third physical floppy disk drive, which must be external, is
    2. For a computer with one floppy disk drive, both drives A and B are
    numbered 0; for a computer with multiple floppy disk drives, drive B is
    numbered 1.

/C
    Specifies that the physical disk drive can detect whether the drive
    door is closed (change-line support).

/F:factor
    Specifies the type of disk drive. Valid values for factor are as
    follows:

    0    160K/180K or 320K/360K
    1    1.2 megabyte (MB)
    2    720K (3.5-inch disk) or other
    7    1.44 MB (3.5-inch disk)
    9    2.88 MB (3.5-inch disk)

    The default value for factor is 2.

    Generally, if you use the /F switch, you can omit the /H, /S, and /T
    switches. Check the default values for these switches to make sure they
    are correct for the type of disk drive you are using. To determine the
    appropriate values for the disk drive, see the disk-drive manufacturer's
    documentation.

    If you specify the /H, /S, and /T switches, you can omit the /F switch.

/H:heads
    Specifies the number of heads in the disk drive. Valid values for
    heads are in the range 1 through 99. The default value is 2. To
    determine the correct value for your disk drive, see the disk-drive
    manufacturer's documentation.

/S:sectors
    Specifies the number of sectors per track. Valid values for sectors
    are in the range 1 through 99. The default value depends on the value
    of /F:factor, as follows:

    /F:0    /S:9

    /F:1    /S:15

    /F:2    /S:9

    /F:7    /S:18

    /F:9    /S:36

    To determine the correct value for your disk drive, see the
    disk-drive manufacturer's documentation.

/T:tracks
    Specifies the number of tracks per side on the block device. Valid
    values for tracks are in the range 1 through 999. The default value
    is 80, unless /F:factor is 0, in which case the default value is
    40. To determine the correct value for your disk drive, see the
    disk-drive manufacturer's documentation.

                                      
.context DRIVER.SYS--Note
.context @DRIVER.SYS--Note
:nDRIVER.SYS--Notes
:z3
\i\p\aExamples\v@DRIVER.SYS--Example\v\i\p  \i\p\aSyntax\v@DRIVER.SYS\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDRIVER.SYSÄÄNotes\p

\bDisk-drive change-line support\p

The term "change-line support" means that a physical disk drive can detect
when the drive door is opened and closed. Change-line support allows faster
MS-DOS operation with floppy disks. If you specify the /C switch, it
indicates to MS-DOS that the physical disk drive can support change-line
error detection. To determine whether your disk drive has change-line
support, see the disk-drive manufacturer's documentation.

\bModifying or redefining a supported physical disk drive\p

For information about modifying the parameters of a physical disk drive that
is supported by your hardware, see the \i<\p\aDRIVPARM\v@Drivparm\v\i>\p command. You can also use
DRIVER.SYS to redefine a physical floppy disk drive.

\bLimitations on DRIVER.SYS\p

You cannot use DRIVER.SYS with hard disk drives. For information about
substituting a logical drive letter for a hard disk drive, see the \i<\p\aSUBST\v@SUBST\v\i>\p
command.

\bCreating a duplicate logical drive\p

Suppose you want to use one physical floppy disk drive to copy files from
one floppy disk to another. Because you cannot copy from and to the same
logical drive by using the COPY or XCOPY command, you must assign a second
drive letter to that physical drive.

If your system has just one physical floppy disk drive, you do not need to
install DRIVER.SYS for this purpose. MS-DOS already assigns both logical
drive A and logical drive B to that drive. Just copy files from drive A to
drive B and switch disks when MS-DOS prompts you.

If your system has more than one floppy disk drive, then you need to use
DRIVER.SYS to assign a second drive letter to the physical floppy disk
drive.

\bCreating a new logical drive with different parameters\p

If you use DRIVER.SYS to assign a logical drive that has parameters
different from those of the previously assigned logical drive, then the
parameters of the previous logical drive will be invalid. Therefore, you
should no longer use the drive letter corresponding to the previous logical
drive.

                                      
.context DRIVER.SYS--Example
.context @DRIVER.SYS--Example
:nDRIVER.SYS--Examples
:z3
\i\p\aSyntax\v@DRIVER.SYS\v\i\p  \i\p\aNotes\v@DRIVER.SYS--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bDRIVER.SYSÄÄExamples\p

To add an external 720K drive to your system, add the following line to your
CONFIG.SYS file:

    device=driver.sys /d:2

Since no location is specified, MS-DOS searches for DRIVER.SYS in the root
directory of your startup drive.

Suppose you want to use a single 1.44-megabyte external disk drive to copy
files from one floppy disk to another. To do this, you must add two
identical DEVICE commands for DRIVER.SYS in your CONFIG.SYS file. This
procedure assigns two logical drive letters to the same physical drive. You
can then swap disks in the same drive during the copying process. The
following example shows how to do this:

    device=driver.sys /d:2 /f:7
    device=driver.sys /d:2 /f:7

                                      
.context Drivparm
.context @Drivparm
:nDRIVPARM
:z3
\i\p\aNotes\v@Drivparm--Notes\v\i\p  \i\p\aExample\v@Drivparm--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bDRIVPARM\p

Defines parameters for block devices, such as disks drives, when you start
MS-DOS.

The DRIVPARM command modifies the parameters of an existing physical drive.
It does not create a new logical drive. The settings specified in the
DRIVPARM command override the driver definitions for any previous block
device.

\bSyntax\p

    DRIVPARM=/D:number [/C] [/F:factor] [/H:heads] [/I] [/N][/S:sectors]
    [/T:tracks]

\bSwitches\p

/D:number
    Specifies the physical drive number. Values for number must be in the
    range 0 through 255 (for example, drive number 0 = drive A, 1 = drive B,
    2 = drive C, and so on).

/C
    Specifies that the drive can detect whether the drive door is closed.

/F:factor
    Specifies the drive type. The following list shows the valid values for
    factor and a brief description of each. The default value is 2.

0
    160K/180K or 320K/360K

1
    1.2 megabyte (MB)

2
    720K (3.5-inch disk)

5
    Hard disk

6
    Tape

7
    1.44 MB (3.5-inch disk)

8
    Read/write optical disk

9
    2.88 MB (3.5-inch disk)

/H:heads
    Specifies the maximum number of heads. Values for heads must be in the
    range 1 through 99. The default value depends upon the value you specify
    for /F:factor.

/I
    Specifies an electronically-compatible 3.5-inch floppy disk drive.
    (Electronically-compatible drives are installed on your computer and use
    your existing floppy- disk-drive controller.) Use the /I switch if your
    computer's ROM BIOS does not support 3.5-inch floppy disk drives.

/N
    Specifies a non-removable block device.

/S:sectors
    Specifies the number of sectors per track that the block device
    supports. Values for sectors must be in the range 1 through 99. The
    default value depends upon the value you specify for /F:factor.

/T:tracks
    Specifies the number of tracks per side that the block device supports.
    The default value depends upon the value you specify for /F:factor.

                                      
.context Drivparm--Notes
.context @Drivparm--Notes
:nDRIVPARM--Notes
:z3
\i\p\aExample\v@Drivparm--Example\v\i\p  \i\p\aSyntax\v@Drivparm\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bDRIVPARMÄÄNotes\p

\bUsing the /I switch\p

Use the /I switch if your system does not support 3.5-inch floppy disk
drives. (Some IBM PC/AT-compatible systems do not have a ROM BIOS that
supports 3.5-inch floppy disk drives.)

\bDisk drive change-line support\p

Change-line support means that a physical disk drive can detect whether the
drive door is opened and closed. Change-line support improves performance by
letting MS-DOS know when one floppy disk has been replaced by another. The
/C switch allows MS-DOS to make use of change-line support. To find out
whether your disk drive has change-line support, see your disk-drive
documentation.

\bCreating a logical drive\p

DRIVPARM modifies the parameters of an existing physical drive and does not
create a new logical drive.

                                      
.context Drivparm--Example
.context @Drivparm--Example
:nDRIVPARM--Example
:z3
\i\p\aSyntax\v@Drivparm\v\i\p  \i\p\aNotes\v@Drivparm--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bDRIVPARMÄÄExample\p

Suppose your system has an internal tape drive with one head on drive D that
is configured at startup to write 20 tracks of 40 sectors per track. To
reconfigure this tape drive to write 10 tracks of 99 sectors each, add the
following command to your CONFIG.SYS file:

    drivparm=/d:3 /f:6 /h:1 /s:99 /t:10

                                      
.context Echo
.context @Echo
:nECHO
:z3
\i\p\aNotes\v@Echo--Notes\v\i\p  \i\p\aExamples\v@Echo--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bECHO\p

Turns the command-echoing feature on or off, or displays a message.

When you run a batch program, MS-DOS typically displays (echoes) the batch
program's commands on the screen. You can turn this feature on or off by
using the ECHO command.

\bSyntax\p

    ECHO [ON|OFF]

    To use the echo command to display a message, use the following syntax:

    echo [message]

\bParameters\p

on|off
    Specifies whether to turn the command-echoing feature on or off. To
    display the current ECHO setting, use the ECHO command without a
    parameter.

message
    Specifies text you want MS-DOS to display on the screen.

\bRelated Command\p

For information about suspending the execution of a batch program, see the
\i<\p\aPAUSE\v@PAUSE\v\i>\p command.

                                      
.context Echo--Notes
.context @Echo--Notes
:nECHO--Notes
:z3
\i\p\aExamples\v@Echo--Examples\v\i\p  \i\p\aSyntax\v@Echo\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bECHOÄÄNotes\p

\bUsing a message with the ECHO command\p

The ECHO message command is useful when ECHO is off. To display a message
that is several lines long without displaying other commands, you can
include several ECHO message commands after the ECHO OFF command in your
batch program.

\bHiding the command prompt\p

If you use the ECHO OFF command on the command line, the command prompt does
not appear on your screen. To redisplay the command prompt, type ECHO ON.

\bPreventing MS-DOS from echoing a line\p

You can insert an at sign (@) in front of a command in a batch program to
prevent MS-DOS from echoing that line.

\bEchoing a blank line\p

To echo a blank line on the screen, you can type ECHO and then a period
(ECHO.). There must be no intervening space.

\bDisplaying pipes and redirection characters\p

You cannot display a pipe (|) or redirection character (< or >) by using the
ECHO command.
                                      
.context Echo--Examples
.context @Echo--Examples
:nECHO--Examples
:z3
\i\p\aSyntax\v@Echo\v\i\p  \i\p\aNotes\v@Echo--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bECHOÄÄExamples\p

The following example shows a batch program that includes a three-line
message preceded and followed by a blank line:

    echo off
    echo.
    echo This batch program
    echo formats and checks
    echo new disks
    echo.

If you want to turn ECHO off and you do not want to echo the ECHO command
itself, include an at sign (@) before the command, as follows:

    @echo off

You can use the IF and ECHO commands on the same command line, as follows:

    if exist *.rpt echo The report has arrived.

                                      
.context Edit
.context @Edit
:nEDIT
:z3
\i\p\aNote\v@Edit--Note\v\i\p                                                                      
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bEDIT\p

Starts MS-DOS Editor, which creates and changes ASCII text files.

MS-DOS Editor is a full-screen editor that allows you to create, edit, save,
and print ASCII text files. Using MS-DOS Editor, you can choose commands
from menus and specify information and preferences in dialog boxes. MS-DOS
Editor includes extensive online Help to give you information about MS-DOS
Editor techniques and commands.

\bSyntax\p

    EDIT [[drive:][path] filename] [/B] [/G] [/H] [/NOHI]

\bParameter\p

[drive:][path] filename
    Specifies the location and name of an ASCII text file. If the file does
    not exist, MS-DOS Editor creates it. If the file exists, MS-DOS Editor
    opens it and displays its contents on the screen.

\bSwitches\p

/B
    Displays MS-DOS Editor in black and white. You use this option if MS-DOS
    Editor isn't displayed correctly on a monochrome monitor.

/G
    Uses the fastest screen updating for a CGA monitor.

/H
    Displays the maximum number of lines possible for the monitor you are
    using.

/NOHI
    Enables you to use 8-color monitors with MS-DOS Editor. Usually, MS-DOS
    uses 16 colors.

\bCAUTION:\p  MS-DOS Editor does not work if the file QBASIC.EXE is not in the
          current directory or in the search path or in the same directory
          as the file EDIT.COM. If you delete QBASIC.EXE to save space on
          your hard disk, you cannot use MS-DOS Editor.

                                      
.context Edit--Note
.context @Edit--Note
:nEDIT--Note
:z3
\i\p\aSyntax\v@Edit\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bEDITÄÄNote\p

Some monitors may not support the display of shortcut keys by default. If
your monitor does not display shortcut keys, use the /B switch (for CGA
monitors) and the /NOHI switch (for systems that do not support bold
characters).

                                      
.context EGA.SYS
.context @EGA.SYS
:nEGA.SYS
:z3
                                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bEGA.SYS\p

Saves and restores the display when Task Swapper is used with EGA monitors.
If you have an EGA monitor, you must install the EGA.SYS device driver
before using Task Swapper.

\bSyntax\p

    DEVICE=[drive:][path]EGA.SYS

\bParameters\p

[drive:][path]
    Specifies the location of the EGA.SYS file.

\bNote:\p  If you are using a mouse on a system that has an EGA monitor, you can
       save memory by installing EGA.SYS before you install your mouse
       driver.

                                      
.context EMM386
.context @EMM386
:nEMM386
:z3
\i\p\aNotes\v@EMM386--Note\v\i\p                                                                     
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bEMM386\p

Enables or disables EMM386 expanded-memory support on a computer with an
80386 or higher processor.

The EMM386 command also enables or disables Weitek coprocessor support. For
an introduction to using the EMM386.EXE device driver, see \i<\p\aEMM386.EXE\v@EMM386.EXE\v\i>\p.

\bSyntax\p

    EMM386 [ON|OFF|AUTO] [W=ON|W=OFF]

To display the current status of EMM386 expanded-memory support, use the
following syntax:

    EMM386

\bParameters\p

ON|OFF|AUTO
    Activates the EMM386.EXE device driver (if set to ON), or suspends the
    EMM386.EXE device driver (if set to OFF), or places the EMM386.EXE
    device driver in auto mode (if set to AUTO). Auto mode enables
    expanded-memory support only when a program calls for it. The default
    value is ON.

W=ON|W=OFF
    Enables or disables Weitek coprocessor support. The default value is
    W=OFF.

                                      
.context EMM386--Note
.context @EMM386--Note
:nEMM386--Notes
:z3
\i\p\aSyntax\v@EMM386\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bEMM386ÄÄNotes\p

\bInstalling the EMM386.EXE device driver\p

You must use the DEVICE command to install the EMM386.EXE device driver
before you can use the EMM386 command. To use the EMM386.EXE device driver
and the EMM386 command, your computer must have an 80386 or higher
processor. If you try to use the EMM386 command on a computer that does not
have an 80386 or higher processor, MS-DOS displays the following message:

    EMM386 driver not installed

\bReactivating EMM386 expanded-memory support\p

If EMM386.EXE was loaded when MS-DOS started but is not currently in use,
the ON parameter reactivates expanded-memory support.

\bSuspending EMM386 expanded-memory support\p

If EMM386 expanded-memory support is currently active, handle 0 is the only
handle allocated, and EMM386.EXE is not providing access to the upper memory
area, then the OFF parameter suspends EMM386 expanded-memory support. When
EMM386 expanded-memory support is off, the EMM386 device driver header is
changed so that programs cannot use expanded memory. This enables non-VCPI
compliant programs such as Windows 3.0 in Standard mode to run.

\bEnabling and disabling Weitek coprocessor support\p

If the W=ON parameter is specified and the OFF parameter (different from the
W=OFF parameter) is not, EMM386 enables Weitek coprocessor support. The high
memory area (HMA) must be available to enable Weitek coprocessor support. If
you load MS-DOS into the HMA by specifying DOS=HIGH, you may not be able to
enable Weitek coprocessor support.

If you specify the W=ON or W=OFF parameter and no Weitek coprocessor is
installed in your computer system, MS-DOS displays the following error
message:

    Weitek Coprocessor not installed

                                      
.context EMM386.EXE
.context @EMM386.EXE
:nEMM386.EXE
:z3
\i\p\aNotes\v@EMM386.EXE--Note\v\i\p  \i\p\aExamples\v@EMM386.EXE--Example\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bEMM386.EXE\p

Simulates expanded memory while using extended memory, and provides access
to the upper memory area on a computer that has an 80386 or higher
processor.

EMM386.EXE uses extended memory to simulate expanded memory for programs
that can use expanded memory. EMM386.EXE also makes it possible to load
programs and device drivers into upper memory blocks (UMBs).

\bSyntax\p

    DEVICE=[drive:][path]EMM386.EXE [ON|OFF|AUTO] [memory] [MIN=size]
    [W=ON|W=OFF] [Mx|FRAME=address|/Pmmmm] [Pn=address] [X=mmmm-nnnn]
    [I=mmmm-nnnn] [B=address] [L=minXMS] [A=altregs] [H=handles] [D=nnn]
    [RAM=mmmm-nnnn] [NOEMS] [NOVCPI] [NOHIGHSCAN] [QUIET] [WIN=mmmm-nnnn]
    [NOHI] [ROM=mmmm-nnnn]

\bParameters\p

[drive:][path]
    Specifies the location of the EMM386.EXE file.

[ON|OFF|AUTO]
    Activates the EMM386.EXE device driver (if set to ON), or suspends the
    EMM386.EXE device driver (if set to OFF), or places the EMM386.EXE
    device driver in auto mode (if set to AUTO). Auto mode enables
    expanded-memory support and upper memory block support only when a
    program calls for it. The default value is ON. Use the EMM386 command to
    change this value after EMM386 has started.

memory
    Specifies the maximum amount of extended memory (in kilobytes) that you
    want EMM386.EXE to provide as expanded/Virtual Control Program Interface
    (EMS/VCPI) memory. This amount is in addition to the memory used for
    UMBs and EMM386.EXE itself. Values for memory are in the range 64
    through the lesser of either 32768 or the amount of extended memory
    available when EMM386.EXE is loaded. The default value is the amount of
    free extended memory. If you specify the NOEMS switch, the default value
    is 0. EMM386.EXE rounds the value down to the nearest multiple of 16.

\bSwitches\p

MIN=size
    Specifies the amount of EMS/VCPI memory (in kilobytes) that EMM386.EXE
    is guaranteed to provide. EMM386.EXE allocates this space when you start
    it. Specifying this switch guarantees the availability of EMS/VCPI
    memory by preventing other programs from using the memory allocated.
    Values are in the range 0 through the value specified by the MEMORY
    parameter. The default value is 256. If you specify the NOEMS switch,
    the default value is 0. If the value of MIN is greater than the value of
    MEMORY, EMM386.EXE uses the value specified by MIN.

W=ON|W=OFF
    Enables or disables support for the Weitek coprocessor. The default
    setting is W=OFF.

Mx
    Specifies the address of the page frame. Valid values for x are in the
    range 1 through 14. The following list shows each value and its
    associated base address in hexadecimal format:

        1 => C000h    8 => DC00h 2 => C400h    9 => E000h 3 => C800h    10
        => 8000h 4 => CC00h    11 => 8400h 5 => D000h    12 => 8800h 6 =>
        D400h    13 => 8C00h 7 => D800h    14 => 9000h
    Values in the range 10 through 14 should be used only on computers with
    512K of memory.

FRAME=address
    Specifies the page-frame segment base directly. To specify a specific
    segment-base address for the page frame, use the FRAME switch and
    specify the address you want. Valid values for address are in the ranges
    8000h through 9000h and C000h through E000h, in increments of 400h. To
    provide expanded memory and disable the page frame, you can specify
    FRAME=NONE; however, this may cause some programs that require expanded
    memory to work improperly.

/Pmmmm
    Specifies the address of the page frame. Valid values for mmmm are in
    the ranges 8000h through 9000h and C000h through E000h, in increments of
    400h.

Pn=address
    Specifies the segment address of a specific page, where n is the number
    of the page you are specifying and address is the segment address you
    want. Valid values for n are in the range 0 through 255. Valid values
    for address are in the ranges 8000h through 9C00h and C000h through
    EC00h, in increments of 400h. The addresses for pages 0 through 3 must
    be contiguous in order to maintain compatibility with version 3.2 of the
    Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS). If you
    use the Mx switch, the FRAME switch, or the /Pmmmm switch, you cannot
    specify the addresses for pages 0 through 3 for the /Pmmmm switch.

X=mmmm-nnnn
    Prevents EMM386.EXE from using a particular range of segment addresses
    for an EMS page or UMBs. Valid values for mmmm and nnnn are in the range
    A000h through FFFFh and are rounded down to the nearest 4-kilobyte
    boundary. The X switch takes precedence over the I switch if the two
    ranges overlap.

I=mmmm-nnnn
    Specifies a range of segment addresses to be used (included) for an EMS
    page or for UMBs. Valid values for mmmm and nnnn are in the range A000h
    through FFFFh and are rounded down to the nearest 4-kilobyte boundary.
    The X switch takes precedence over the I switch if the two ranges
    overlap.

B=address
    Specifies the lowest segment address available for EMS "banking"
    (swapping of 16-kilobyte pages). Valid values are in the range 1000h
    through 4000h. The default value is 4000h.

l=minXMS
    Ensures that the specified amount (in kilobytes) of extended memory will
    still be available after you load EMM386.EXE. The default value is 0.

A=altregs
    Specifies how many fast alternate register sets (used for multitasking)
    you want to allocate to EMM386.EXE. Valid values are in the range 0
    through 254. The default value is 7. Every alternate register set adds
    about 200 bytes to the size in memory of EMM386.EXE.

H=handles
    Specifies how many handles EMM386.EXE can use. Valid values are in the
    range 2 through 255. The default value is 64.

D=nnn
    Specifies how many kilobytes of memory should be reserved for buffered
    direct memory access (DMA). Discounting floppy-disk DMA, this value
    should reflect the largest DMA transfer that will occur while EMM386.EXE
    is active. Valid values for nnn are in the range 16 through 256. The
    default value is 16.

RAM=mmmm-nnnn
    Specifies a range of segment addresses to be used for UMBs. If you do
    not specify a range, EMM386.EXE uses whatever extended memory is
    available.

NOEMS
    Provides access to the upper memory area but prevents access to expanded
    memory.

NOVCPI
    Disables support for VCPI applications. This switch must be used with
    the NOEMS switch. If you specify the NOVCPI switch without specifying
    the NOEMS switch, EMM386.EXE does not disable VCPI support. If you
    specify both switches, EMM386.EXE disregards the MEMORY parameter and
    the MIN switch. Disabling support for VCPI applications reduces the
    amount of extended memory allocated.

NOHIGHSCAN
    Limits scanning of the upper memory area for available memory. Specify
    this switch only if you have trouble using EMM386.EXE.

QUIET
    Suppresses the display of informational messages when you start
    EMM386.EXE. You can abbreviate the QUIET switch as Q.

WIN=mmmm-nnnn
    Reserves a specified range of segment addresses for Windows instead of
    EMM386.EXE. Valid values for mmmm and nnnn are in the range A000h
    through FFFFh and are rounded down to the nearest 4-kilobyte boundary.
    The X switch takes precedence over the WIN switch if the two ranges
    overlap. The WIN switch takes precedence over the RAM, ROM, and I
    switches if their ranges overlap.

[NOHI]
    Prevents EMM386.EXE from loading into the upper memory area. Normally, a
    portion of EMM386.EXE is loaded into upper memory. Specifying this
    switch decreases available conventional memory and increases the upper
    memory area available for UMBs.

[ROM=mmmm-nnnn]
    Specifies a range of segment addresses that EMM386.EXE uses for shadow
    RAMÄÄrandom-access memory used for read-only memory (ROM). Valid values
    for mmmm and nnnn are in the range A000h through FFFFh and are rounded
    down to the nearest 4-kilobyte boundary. Specifying this switch may
    speed up your system if it does not already have shadow RAM.

                                      
.context EMM386.EXE--Note
.context @EMM386.EXE--Note
:nEMM386.EXE--Notes
:z3
\i\p\aExamples\v@EMM386.EXE--Example\v\i\p  \i\p\aSyntax\v@EMM386.EXE\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bEMM386.EXEÄÄNotes\p

\bMust install HIMEM.SYS before EMM386.EXE\p

You must include a DEVICE command for the HIMEM.SYS device driver in your
CONFIG.SYS file before the DEVICE command for EMM386.EXE.

\bUsing EMM386.EXE memory switches\p

Unless you want to use EMM386.EXE to provide access to the upper memory
area, you need not specify memory switches on the DEVICE command line.
EMM386.EXE usually runs properly with the default values. In some cases,
however, you might want to control how EMM386.EXE uses memory. For example,
you can control where EMM386.EXE puts the EMS page frame, or which segments
it uses for EMS pages. You can use as many of these memory switches as you
want, in any order you want.

\bCAUTION:\p  Use EMM386.EXE parameters carefully. You can disable your system
          if you use them incorrectly.

\bUsing EMM386.EXE to provide access to the upper memory area\p

In addition to providing access to expanded memory, EMM386.EXE provides
access to the upper memory area, which you can use to load certain programs
and device drivers. You must use either the RAM or NOEMS switch to provide
access to the upper memory area.

To give MS-DOS access to the upper memory area but not to expanded memory,
use the NOEMS switch. To give MS-DOS access to both the upper memory area
and expanded memory, use the RAM switch. The RAM switch provides access to
less of the upper memory area for running device drivers and programs than
does the NOEMS switch. In either case, you must include the DOS=UMB command
in your CONFIG.SYS file. The device command for EMM386.EXE must precede any
DEVICEHIGH commands.

\bUsing EMM386.EXE with Windows 3.1\p

When EMM386.EXE is used with Windows 3.1, the I, X, NOEMS, Mx, Pnnnn, and
FRAME switches have precedence over the EMMINCLUDE, EMMEXCLUDE, and
EMMPAGEFRAME settings in the Windows SYSTEM.INI file. Changes to these
settings in the SYSTEM.INI file have no effect when EMM386.EXE is loaded.

\bSMARTDRV double buffering may be required to use EMM386.EXE\p

If you have a small computer system interface (SCSI) or enhanced system
device interface (ESDI) hard disk or other device, you may have to add the
following line to your CONFIG.SYS file:

    device=smartdrv.exe /double_buffer

Add the line before any DEVICEHIGH statements and before any statements that
load installable device drivers that use expanded memory. The statement
enables an SCSI or EDSI controller to transfer information to programs that
use the upper memory area or expanded memory.

                                      
.context EMM386.EXE--Example
.context @EMM386.EXE--Example
:nEMM386.EXE--Examples
:z3
\i\p\aSyntax\v@EMM386.EXE\v\i\p  \i\p\aNotes\v@EMM386.EXE--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bEMM386.EXEÄÄExamples\p

To start EMM386 as an expanded-memory emulator, using the default values,
add the following lines to your CONFIG.SYS file:

    device=himem.sys
    device=emm386.exe

Since no location is specified, MS-DOS searches for EMM386.EXE in the root
directory of your startup drive.

To have EMM386.EXE allocate a maximum of 4096K of memory and a guaranteed
256K of memory (the default value), and to specify that the EMM386.EXE file
is located in the DOS directory on drive C, add the following line to your
CONFIG.SYS file:

    device=c:\\dos\\emm386.exe 4096

To emulate expanded memory, specify the segment-base address D000h for the
EMS page frame, and allocate 512K of memory to EMM386.EXE, use one of the
following commands:

    device=emm386.exe 512 frame=d000

    device=emm386.exe 512 p0=d000 p1=d400 p2=d800 p3=dc00

Suppose that, in addition to specifying the conditions set in the preceding
commands, you want to prevent EMM386 from using the segment addresses E000h
through EC00h. To do this and to specify that EMM386 can use 127 handles,
add the following line to your CONFIG.SYS file:

    device=emm386.exe 512 frame=d000 x=e000-ec00 h=127

To provide access to the upper memory area but not provide EMS/VCPI memory,
add the following line to your CONFIG.SYS file:

    device=emm386.exe noems novcpi

To provide access to the upper memory area and provide EMS/VCPI memory, add
the following line to your CONFIG.SYS file:

    device=emm386.exe ram

                                      
.context EXIT
.context @EXIT
:nEXIT
:z3
\i\p\aNotes\v@EXIT--Note\v\i\p                                                                     
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bEXIT\p

Quits the COMMAND.COM program (the command interpreter) and returns to the
program that started COMMAND.COM, if one exists.

\bSyntax\p

    EXIT

                                      
.context EXIT--Note
.context @EXIT--Note
:nEXIT--Notes
:z3
\i\p\aSyntax\v@EXIT\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bEXITÄÄNotes\p

\bUsing exit with the command interpreter\p

When you use the MS-DOS COMMAND command to start a new instance of the
command interpreter, you can use the EXIT command to return to the old
command interpreter. Also, while running some programs, you can run the
MS-DOS command interpreter and then use the EXIT command to return to your
program. For more information about command interpreters, see the \i<\p\aCOMMAND\v@Command\v\i>\p
command.

If you are not using the /P (permanent) switch with the inital copy of
COMMAND.COM, the EXIT command quits the command interpreter. You must then
specify at the command prompt the location the COMMAND.COM file to start the
command interpreter again.

\bUsing exit when the command program is loaded as permanent\p

If you start the COMMAND.COM program with the /P (permanent) switch, the
EXIT command has no effect.

                                      
.context EXPAND
.context @EXPAND
:nEXPAND
:z3
\i\p\aNotes\v@EXPAND--Notes\v\i\p  \i\p\aExamples\v@EXPAND--Example\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bEXPAND\p

Decompresses a compressed file. You can use this command to retrieve one or
more files from the installation or update disks that accompany MS-DOS 6.
These files are not usable unless you decompress them.

\bSyntax\p

    EXPAND -F -Q [drive:][path] filename [[drive:][path] filename[ ...]]
    destination

If you type the following, EXPAND will automatically decompress and name the
file, and copy it to the current directory:

    EXPAND [drive:][path] filename

If you type the following, EXPAND will prompt you for the location and name
of the compressed file you want to decompress, then prompt you for the
location and/or name you want to give the decompressed file:

    EXPAND

\bParameters\p

[drive:][path] filename
    Specifies the location and name of a compressed file or files to be
    decompressed. You can use wildcards (* and ?).

destination
    Specifies the location and/or name of the decompressed file or files.
    Destination can consist of a drive letter and colon, a directory name, a
    filename, or a combination. However, you cannot specify a filename for
    destination unless you also specify a single compressed file for
    filename.

\bSwitches\p

-F
    Overwrites destination files of the same name. You cannot overwrite the
    file you are decompressing.

    If you specify a destination file that exists, and you don't use the -F
    switch, EXPAND prompts you to append or overwrite the file.

-Q
    Calculates the size a compressed file will be when it is decompressed.
    When you use the -Q switch, EXPAND will not decompress the file you
    specify.

                                      
.context EXPAND--Notes
.context @EXPAND--Notes
:nEXPAND--Notes
:z3
\i\p\aExamples\v@EXPAND--Example\v\i\p  \i\p\aSyntax\v@EXPAND\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bEXPANDÄÄNotes\p

\bRetrieving files from the Setup disks\p

Most of the files on the installation or update disks provided with MS-DOS 6
are compressed. Each of these compressed files has a file extension that
ends with an underscore character (_). When you installed MS-DOS, you ran
the Setup program, which decompressed these files before copying them to
your system. However, if you need to retrieve just one or a few files from
the original disks, you can use the EXPAND command.

\bLetting EXPAND prompt you\p

If you don't include the compressed file and the destination, EXPAND prompts
you for the information.

                                      
.context EXPAND--Example
.context @EXPAND--Example
:nEXPAND--Examples
:z3
\i\p\aSyntax\v@EXPAND\v\i\p  \i\p\aNotes\v@EXPAND--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bEXPANDÄÄExamples\p

\bHow to use the EXPAND command\p

Suppose you accidentally delete the SORT.EXE file from your DOS directory on
drive C.

You can copy and decompress the compressed file SORT.EX_ from the MS-DOS 6
installation or upgrade disks to your hard disk. First, you need to find out
which disk contains SORT.EX_ by opening the PACKING.LST file on Setup disk
1. You then insert the appropriate disk into drive A and use the following
command to copy and decompress the file:

    expand a:\\sort.ex_ c:\\dos\\sort.exe

\bDecompressing a Group of Files\p

To decompress a group of files, use wildcards (* and ?) when you specify the
source filename. For example, to decompress all the files on drive A and
copy them to the DOS directory on drive C, type the following at the command
prompt:

    expand a:\\*.* c:\\dos

EXPAND automatically names the files and specifies the correct extensions.

\bLetting EXPAND Prompt You\p

To copy and decompress the SORT.EX_ file to the hard disk by letting EXPAND
prompt you, type the following at the command prompt:

    expand

EXPAND prompts you with the following:

    Enter the name and/or path for the compressed file:

If you wanted to decompress and copy the SORT.EX_ file from the Setup disk
in drive A, you would type the following:

    a:\\sort.ex_

EXPAND prompts you with the following:

    Enter the name and/or path for the decompressed file:

If your MS-DOS files are in the C:\\DOS directory, type the following:

    c:\\dos\\sort.exe

                                      
.context Fastopen
.context @Fastopen
:nFASTOPEN
:z3
\i\p\aNotes\v@Fastopen--Notes\v\i\p  \i\p\aExample\v@Fastopen--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bFASTOPEN\p

Starts the Fastopen program, which decreases the amount of time needed to
open frequently used files.

Fastopen tracks the location of files on a hard disk and stores the
information in memory for fast access.

\bSyntax\p

    FASTOPEN drive:[[=]n] [drive:[[n][...]] [/X]

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

    INSTALL=[[dos-drive:]dos-path]FASTOPEN.exe drive:[[=]n]
    [drive:[[=]n][...]] [/X]

\bWarning:\p  To avoid losing data, do not run a disk-compaction program such as
          Speed Disk while FASTOPEN.EXE is loaded.

\bParameters\p

drive:
    Specifies a hard disk drive for which you want Fastopen to track the
    opening of files.

n
    Specifies the number of files Fastopen can work with at the same time.
    Valid values for n are in the range 10 through 999. The default value is
    48.

[dos-drive:]dos-path
    Specifies the location of FASTOPEN.EXE.

\bSwitch\p

/X
    Creates the name cache in expanded memory instead of in conventional
    memory. The name cache is an area of memory in which MS-DOS stores
    (caches) the locations and names of the files that you open. This cache
    conforms to version 4.0 of the Lotus/Intel/Microsoft Expanded Memory
    Specification (LIM EMS).

                                      
.context Fastopen--Notes
.context @Fastopen--Notes
:nFASTOPEN--Notes
:z3
\i\p\aExample\v@Fastopen--Example\v\i\p  \i\p\aSyntax\v@Fastopen\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bFASTOPENÄÄNotes\p

\bHow Fastopen tracks information\p

Every time you open a file, Fastopen records its name and location in the
name cache. If you later reopen a file recorded by Fastopen, the access time
is greatly reduced.

\bLimits on using Fastopen\p

Fastopen works only on hard disks and does not work over a network. You can
use Fastopen with as many as 24 hard-disk partitions at one time. For each
partition, Fastopen can track the number of files specified by the n
parameter. The maximum number of files that Fastopen can track on all
partitions is 999.

You cannot run more than one copy of Fastopen at the same time. If you want
to change the Fastopen settings, you must restart MS-DOS.

You should not use the Fastopen command from MS-DOS Shell, because doing so
can lock up your machine.

\bMemory requirements for Fastopen\p

Fastopen requires approximately 48 bytes of memory for each file that it
tracks.

\bAdding the FASTOPEN command to the CONFIG.SYS file\p

You can add a Fastopen command to your CONFIG.SYS file by using the INSTALL
command. Use this technique when you do not want to start Fastopen from the
MS-DOS command line or from your AUTOEXEC.BAT file.

                                      
.context Fastopen--Example
.context @Fastopen--Example
:nFASTOPEN--Example
:z3
\i\p\aSyntax\v@Fastopen\v\i\p  \i\p\aNotes\v@Fastopen--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bFASTOPENÄÄExample\p

If you want MS-DOS to track the location of as many as 100 files on drive C,
add the following line to your CONFIG.SYS file:

    install=c:\\dos\\fastopen.exe c:=100

                                      
.context Fc
.context @Fc
:nFC
:z3
\i\p\aNotes\v@Fc--Notes\v\i\p  \i\p\aExamples\v@Fc--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                     \bFC\p

Compares two files and displays the differences between them.

\bSyntax\p

To make an ASCII comparison, use the following syntax:

    FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/W] [/nnnn][drive1:][path1]filename1
    [drive2:][path2] filename2

To make a binary comparison, use the following syntax:

    FC /B [drive1:][path1]filename1 [drive2:][path2]filename2

\bParameters\p

[drive1:][path1] filename1
    Specifies the location and name of the first file you want to compare.

[drive2:][path2] filename2
    Specifies the location and name of the second file you want to compare.

\bSwitches\p

/A
    Abbreviates the output of an ASCII comparison. Instead of displaying all
    the lines that are different, FC displays only the first and last line
    for each set of differences.

/C
    Ignores the case of letters.

/L
    Compares the files in ASCII mode. FC compares the two files line by line
    and attempts to resynchronize the files after finding a mismatch. This
    is the default mode for comparing files that do not have extensions of
    .EXE, .COM, .SYS, .OBJ, .LIB, or .BIN.

/LBn
    Sets the number of lines for the internal line buffer. The default
    length of the line buffer is 100 lines. If the files being compared have
    more than this number of consecutive differing lines, FC cancels the
    comparison.

/N
    Displays the line numbers during an ASCII comparison.

/T
    Does not expand tabs to spaces. The default behavior is to treat tabs as
    spaces, with stops at each eighth character position.

/W
    Compresses white space (tabs and spaces) during the comparison. If a
    line contains many consecutive spaces or tabs, the /W switch treats
    these characters as a single space. When used with the /W switch, FC
    ignores (and does not compare) white space at the beginning and end of a
    line.

/nnnn
    Specifies the number of consecutive lines that must match before FC
    considers the files to be resynchronized. If the number of matching
    lines in the files is less than this number, FC displays the matching
    lines as differences. The default value is 2.

/B
    Compares the files in binary mode. FC compares the two files byte by
    byte and does not attempt to resynchronize the files after finding a
    mismatch. This is the default mode for comparing files that have
    extensions of .EXE, .COM, .SYS, .OBJ, .LIB, or .BIN.

                                      
.context Fc--Notes
.context @Fc--Notes
:nFC--Notes
:z3
\i\p\aExamples\v@Fc--Examples\v\i\p  \i\p\aSyntax\v@Fc\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bFCÄÄNotes\p

\bReporting differences between files for an ASCII comparison\p

When you use FC for an ASCII comparison, MS-DOS reports differences between
two files by displaying the name of the first file, followed by the last
line to match in both files, followed by the lines from filename1 that
differ between the files, followed by the first line to match in both files.
MS-DOS then displays the name of the second file, followed by the last line
to match, followed by the lines from filename 2 that differ, followed by the
next line to match.

\bUsing the /B switch for binary comparisons\p

MS-DOS uses the following format to report mismatches found during a binary
comparison:

    xxxxxxxx: yy zz

The value of xxxxxxxx specifies the relative hexadecimal address for the
pair of bytes, measured from the beginning of the file. Addresses start at
00000000; the hexadecimal values for yy and zz represent the mismatched
bytes from filename1 and filename2, respectively.

\bUsing wildcards\p

You can use wildcards (? and *) in either of the filenames you specify with
the FC command. If you use a wildcard in filename1, FC compares all the
specified files to the file specified by filename2. If you use a wildcard in
filename2, FC uses the corresponding value from filename1.

\bHow FC uses memory\p

When comparing ASCII files, FC uses an internal buffer (large enough to hold
100 lines) as storage. If the files are larger than the buffer, FC compares
what it can load into the buffer. If FC does not find a match in the loaded
portions of the files, it stops and displays the following message:

    Resynch failed. Files are too different.

When comparing binary files that are larger than available memory, FC
compares both files completely, overlaying the portions in memory with the
next portions from the disk. The output is the same as that for files that
fit completely in memory.

                                      
.context Fc--Examples
.context @Fc--Examples
:nFC--Examples
:z3
\i\p\aSyntax\v@Fc\v\i\p  \i\p\aNotes\v@Fc--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bFCÄÄExamples\p

Suppose you want to make an ASCII comparison of two text files that are
named MONTHLY.RPT and SALES.RPT, and you want to display the results in
abbreviated format. To make this comparison, type the following command:

    fc /a monthly.rpt sales.rpt

To make a binary comparison of two batch files named PROFITS.BAT and
EARNINGS.BAT, type the following command:

    fc /b profits.bat earnings.bat

The results of this command will be similar to the following:

    00000002: 72 43
    00000004: 65 3A
    0000000E: 56 92
    00000012: 6D 5C
    00000013: 0D 7C
    00000014: 0D 0A
    00000015: 0A 0D
    0000001E: 43 7A
    0000001F: 09 0A
    00000022: 72 44
         ...
         ...
         ...
    000005E0: 00 61
    000005E1: 00 73
    000005E2: 00 73
    000005E3: 00 69
    000005E4: 00 67
    000005E5: 00 6E
    000005E6: 00 6D
    000005E7: 00 65
    000005E8: 00 6E
    FC: EARNINGS.BAT longer than PROFITS.BAT

If the PROFITS.BAT and EARNINGS.BAT files were identical, FC would display
the following message:

    FC: no differences encountered

To compare every .BAT file in the current directory with the file NEW.BAT,
type the following command:

    fc *.bat new.bat

To compare the file NEW.BAT on drive C with the file NEW.BAT on drive D,
type the following command.

    fc c:new.bat d:*.bat

To compare each batch file in the root directory on drive C to the file with
the same name in the root directory on drive D, type the following command:

    fc c:\\*.bat d:\\*.bat

                                      
.context Fcbs
.context @Fcbs
:nFCBS
:z3
\i\p\aNotes\v@Fcbs--Notes\v\i\p  \i\p\aExample\v@Fcbs--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bFCBS\p

Specifies the number of file control blocks (FCBs) that MS-DOS can have open
at the same time.

A file control block is a data structure that stores information about a
file.

\bSyntax\p

    FCBS=x

\bParameter\p

x
    Specifies the number of file control blocks that MS-DOS can have open at
    one time. Valid values for x are in the range 1 through 255. The default
    value is 4.

                                      
.context Fcbs--Notes
.context @Fcbs--Notes
:nFCBS--Notes
:z3
\i\p\aExample\v@Fcbs--Example\v\i\p  \i\p\aSyntax\v@Fcbs\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bFCBSÄÄNotes\p

\bLimitation on opening files\p

If a program tries to open more than x files by using file control blocks,
MS-DOS might close the files that were opened earlier.

\bRecommended use of the FCBS command\p

You should use the FCBS command only if a program requires you to do so.
Most newer programs do not require file control blocks. However, some older
programs might require you to use the FCBS command in your CONFIG.SYS file.

Many programs use file handles. You can specify the number of file handles
available using the \i<\p\aFILES\v@Files\v\i>\p command.

                                      
.context Fcbs--Example
.context @Fcbs--Example
:nFCBS--Example
:z3
\i\p\aSyntax\v@Fcbs\v\i\p  \i\p\aNotes\v@Fcbs--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bFCBSÄÄExample\p

To specify that MS-DOS can have up to eight file control blocks open at the
same time, add the following line to your CONFIG.SYS file:

    fcbs=8

                                      
.context Fdisk
.context @Fdisk
:nFDISK
:z3
\i\p\aNotes\v@Fdisk--Notes\v\i\p                                                                     
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bFDISK\p

Starts the Fdisk program, which configures a hard disk for use with MS-DOS.

Fdisk displays a series of menus to help you partition your hard disk(s) for
MS-DOS.

\bSyntax\p

To start the Fdisk program, use the following syntax:

    FDISK

To display partition information without starting the Fdisk program, use the
following syntax:

    FDISK /STATUS

\bSwitch\p

/STATUS
    Displays an overview of the partition information of your computer's
    hard disk(s), without starting the Fdisk program.

                                      
.context Fdisk--Notes
.context @Fdisk--Notes
:nFDISK--Notes
:z3
\i\p\aSyntax\v@Fdisk\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bFDISKÄÄNotes\p

\bUsing Fdisk to partition a hard disk\p

You can use Fdisk for the following tasks:

  Creating a primary MS-DOS partition

  Creating an extended MS-DOS partition

  Setting a partition to active

  Deleting a partition

  Displaying partition data

  Selecting the next hard disk for partitioning, if a system has multiple
   hard disks.

\bCAUTION:\p  Do not experiment with Fdisk. If you accidently delete a drive or
          partition, you will lose data from your hard disk.

\bViewing Partition Information Quickly and Easily\p

To display an overview of your computer's partition information without
having to start the Fdisk program, use the /STATUS switch. If the /STATUS
switch doesn't provide enough detail about your hard disk, then start the
Fdisk program without the /STATUS switch and choose option 4.

\bChanging the size of a partition\p

To change the size of a partition, you must actually delete the partition
and create a new one with a different size.

\bMaximum partition size\p

The maximum partition size is 2 gigabytes.

\bCAUTION:\p  Deleting a partition deletes all the data stored on that
          partition.

\bUsing Fdisk with SUBST\p

Fdisk does not work on a drive formed by using the SUBST command.

\bLimits of Fdisk\p

Fdisk does not work on a network or an Interlnk drive. Fdisk only works on
hard disks physically installed on your computer.

                                      
.context Files
.context @Files
:nFILES
:z3
\i\p\aNote\v@Files--Note\v\i\p  \i\p\aExample\v@Files--Example\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bFILES\p

Sets the number of files that MS-DOS can access at one time.

\bSyntax\p

    FILES=x

\bParameter\p

x
    Specifies the number of files that MS-DOS can access at one time. Valid
    values for x are in the range 8 through 255. The default value is 8.

                                      
.context Files--Note
.context @Files--Note
:nFILES--Note
:z3
\i\p\aExample\v@Files--Example\v\i\p  \i\p\aSyntax\v@Files\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bFILESÄÄNote\p

Although the default setting for the x parameter is 8, some programs require
a larger value. A typical setting is 30.

The value you set for FILES does not necessarily determine how many files a
program can have open at a time. The design of the program may limit how
many files it can have open.

                                      
.context Files--Example
.context @Files--Example
:nFILES--Example
:z3
\i\p\aSyntax\v@Files\v\i\p  \i\p\aNote\v@Files--Note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bFILESÄÄExample\p

To specify that MS-DOS can access up to 20 files at one time, add the
following line to your CONFIG.SYS file:

    files=20

                                      
.context Find
.context @Find
:nFIND
:z3
\i\p\aNotes\v@Find--Notes\v\i\p  \i\p\aExamples\v@Find--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bFIND\p

Searches for a specific string of text in a file or files.

After searching the specified files, FIND displays any lines of text that
contain the specified string.

\bSyntax\p

    FIND [/V] [/C] [/N] [/I] "string" [[drive:][path]filename[...]]

\bParameters\p

"string"
    Specifies the group of characters you want to search for. You must
    enclose the text for string in quotation marks.

[drive:][path] filename
    Specifies the location and name of the file in which to search for the
    specified string.

\bSwitches\p

/V
    Displays all lines not containing the specified string.

/C
    Displays only a count of the lines that contain the specified string.

/N
    Precedes each line with the file's line number.

/I
    Specifies that the search is not to be case-sensitive.

                                      
.context Find--Notes
.context @Find--Notes
:nFIND--Notes
:z3
\i\p\aExamples\v@Find--Examples\v\i\p  \i\p\aSyntax\v@Find\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bFINDÄÄNotes\p

\bSpecifying a string\p

Unless you specify the /I switch, FIND searches for exactly what you specify
for string. For example, to the FIND command, the characters "a" and "A" are
different. If you were to use the /I switch, however, FIND would ignore case
and search for "a" and "A" as if they were the same character.

If the string you want to search for contains quotation marks, you must use
two quotation marks for each quotation mark contained within the string.

\bUsing FIND as a filter\p

If you omit a filename, FIND acts as a filter, taking input from the MS-DOS
standard source (usually the keyboard, a pipe, or a redirected file) and
displaying any lines that contain string.

\bUsing wildcards with FIND\p

You cannot use wildcards (* and ?) in filenames or extensions that you
specify with the FIND command. To search for a string in a set of files you
specify with wildcards, you can use the FIND command in a FOR command.

\bUsing the /V or /N switch with the /C switch\p

If you specify the /C and /V switches in the same command, FIND displays a
count of the lines that do not contain the specified string. If you specify
the /C and /N switches in the same command, FIND ignores the /N switch.

\bUsing FIND in files with carriage returns\p

The FIND command does not recognize carriage returns. When you use FIND to
search for text in a file that includes carriage returns, you must limit the
search string to text that can be found between carriage returnsÄÄthat is, a
string that is not likely to be interrupted by a carriage return. For
example, FIND does not report a match for the string "tax file" wherever a
carriage return occurs between the word "tax" and the word "file".

                                      
.context Find--Examples
.context @Find--Examples
:nFIND--Examples
:z3
\i\p\aSyntax\v@Find\v\i\p  \i\p\aNotes\v@Find--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bFINDÄÄExamples\p

To display all lines from the file PENCIL.AD that contain the string "Pencil
Sharpener", type the following command:

    find "Pencil Sharpener" pencil.ad

To find a string that contains text within quotation marks, you must enclose
the entire string in quotation marks and, in addition, use two quotation
marks for each quotation mark contained within the string, as shown in the
following example:

    find "The scientists labeled their paper ""for discussion only."" It is
    not a final report." report.doc

If you want to search for a set of files, you can use the FIND command with
the FOR command. The following command uses this method to search the
current directory for files that have the extension .BAT; in each file
found, the command searches for the string "PROMPT":

    for %f in (*.bat) do find "PROMPT" %f

Suppose you want FIND to search your hard disk to find and display the
filenames on drive C that contain the string "CPU". To do this you can use
the pipe (|) to direct the results of a DIR command to FIND, as shown in the
following example:

    dir c:\\ /s /b | find "CPU"

Before using a pipe for redirection, you should set the TEMP environment
variable in your AUTOEXEC.BAT file.

Since FIND searches are case-sensitive and since DIR produces uppercase
output, you must either type the string "CPU" in uppercase letters or use
the /I switch with FIND.

                                      
.context For
.context @For
:nFOR
:z3
\i\p\aNotes\v@For--Notes\v\i\p  \i\p\aExamples\v@For--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bFOR\p

Runs a specified command for each file in a set of files.

You can use the FOR command within a batch program or directly from the
command prompt.

\bSyntax\p

To use FOR in a batch program, use the following syntax:

    FOR %%variable IN (set) DO command [command-parameters]

To use FOR from the command prompt, use the following syntax:

    FOR %variable IN (set) DO command [command-parameters]

\bParameters\p

%%variable or %variable
    Represents a replaceable variable. The FOR command replaces %%variable
    (or %variable) with each text string in the specified set until the
    command (specified in the command parameter) processes all the files.
    Use %%variable to carry out the FOR command within a batch program. Use
    %variable to carry out FOR from the command prompt.

(set)
    Specifies one or more files or text strings that you want to process
    with the specified command. The parentheses are required.

command
    Specifies the command that you want to carry out on each file included
    in the specified set.

command-parameters
    Specifies any parameters or switches that you want to use with the
    specified command (if the specified command uses any parameters or
    switches).

                                      
.context For--Notes
.context @For--Notes
:nFOR--Notes
:z3
\i\p\aExamples\v@For--Examples\v\i\p  \i\p\aSyntax\v@For\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bFORÄÄNotes\p

\bUsing the IN and DO keywords\p

IN and DO are not parameters, but they are required in the FOR command. If
you omit either of these keywords, MS-DOS displays an error message.

\bUsing the replaceable variable\p

To avoid confusion with the batch parameters %0 through %9, you can use any
character for variable except the numerals 0 through 9. For simple batch
programs, a single character such as %%F may be all that is necessary.

You can use multiple values for variable in complex batch programs to
distinguish different replaceable variables. However, you cannot nest (add)
multiple FOR commands on the same command line.

\bSpecifying a group of files\p

The set parameter can represent a single group of files or several groups of
files. You can use wildcards (* and ?) to specify a file set. The following
are valid file sets:

    (*.doc)

    (*.doc *.txt *.me)

    (jan*.doc jan*.rpt feb*.doc feb*.rpt)

    (ar??1991.* ap??1991.*)

When you use the FOR command, the first value in set replaces %%variable (or
%variable) and MS-DOS carries out the specified command in order to process
this value; this continues until MS-DOS has processed all the files (or
groups of files) that correspond to the value (or values) in set.

                                      
.context For--Examples
.context @For--Examples
:nFOR--Examples
:z3
\i\p\aSyntax\v@For\v\i\p  \i\p\aNotes\v@For--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bFORÄÄExamples\p

Suppose you want to use the TYPE command to display the contents of all the
files in the current directory that have the extension .DOC or .TXT. To do
this and to use the replaceable variable %F, type the following command at
the command prompt:

    for %f in (*.doc *.txt) do type %f

In this example, each file that has the .DOC or .TXT extension in the
current directory is substituted for the %F variable until the contents of
every file are displayed. To use this command in a batch file, you simply
replace every occurrence of %F with %%F. Otherwise, MS-DOS ignores the
variable and displays an error message.

MS-DOS supports command switches, pipes, and redirection that you may want
to use with the specified command. For example, to redirect the output of
the previous example to PRN (the default printer port), you would type the
following command:

    for %f in (*.doc *.txt) do type %f > prn:

                                      
.context Format
.context @Format
:nFORMAT
:z3
\i\p\aNotes\v@Format--Notes\v\i\p  \i\p\aExamples\v@Format--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bFORMAT\p

Formats the disk in the specified drive to accept MS-DOS files.

The FORMAT command creates a new root directory and file allocation table
for the disk. It can also check for bad areas on the disk, and it can delete
all data on the disk. In order for MS-DOS to be able to use a new disk, you
must first use this command to format the disk.

\bSyntax\p

    FORMAT drive: [/V[:label]] [/Q] [/U] [/F:size][/B|/S]

    FORMAT drive: [/V[:label]] [/Q] [/U] [/T:tracks /N:sectors] [/B|/S]

    FORMAT drive: [/V[:label]] [/Q] [/U] [/1] [/4] [/B|/S]

    FORMAT drive: [/Q] [/U] [/1] [/4] [/8] [/B|/S]

\bWarning:\p  Do not format a floppy disk at a size higher than it was designed
          for. For more information, see \i<\p\aFormatÄÄNotes\v@Format--Notes\v\i>\p.

\bParameter\p

drive:
    Specifies the drive containing the disk you want to format. You must
    specify a drive parameter. If you do not specify any of the following
    switches, FORMAT uses the drive type to determine the default format for
    the disk.

    If the disk was formatted, and you do not use the /U parameter, the old
    file allocation table and root directory are saved to allow unformatting
    of the disk if necessary. If you realize that you formatted the wrong
    the disk, use the \i<\p\aUNFORMAT\v@UNFORMAT\v\i>\p command as soon as possible.

\bSwitches\p

/V:label
    Specifies the volume label. A volume label identifies the disk and can
    be a maximum of 11 characters. If you omit the /V switch, or use it
    without specifying a volume label, MS-DOS prompts you for the volume
    label after the formatting is completed. If you format more than one
    disk by using one FORMAT command, all of the disks will be given the
    same volume label. The /V switch is not compatible with the /8 switch.
    For more information about disk volume labels, see the DIR, LABEL, and
    VOL commands.

/Q
    Specifies a quick format of a disk. With this switch, FORMAT deletes the
    file allocation table (FAT) and the root directory of a previously
    formatted disk, but does not scan the disk for bad areas. You should use
    the /Q switch to format only previously formatted disks that you know
    are in good condition.

/U
    Specifies an unconditional format operation for a floppy disk or hard
    disk. Unconditional formatting destroys all existing data on a disk and
    prevents you from later "unformatting" the disk. You should use /U if
    you have received read and write errors during use of the disk. For
    information about unformatting a disk, see the UNFORMAT command.

/F:size
    Specifies the size of the floppy disk to format. When possible, use this
    switch instead of the /T and /N switches. Use one of the following
    values for size:

    160 or 160k or 160kb
       160K, single-sided, double-density, 5.25-inch disk
    
    180 or 180k or 180kb
       180K, single-sided, double-density, 5.25-inch disk
    
    320 or 320k or 320kb
       320K, double-sided, double-density, 5.25-inch disk
    
    360 or 360k or 360kb
       360K, double-sided, double-density, 5.25-inch disk
    
    720 or 720k or 720kb
       720K, double-sided, double-density, 3.5-inch disk
    
    1200 or 1200k or 1200kb or 1.2 or 1.2m or 1.2mb
       1.2-MB, double-sided, quadruple-density, 5.25-inch disk
    
    1440 or 1440k or 1440kb or 1.44 or 1.44m or 1.44mb
       1.44-MB, double-sided, quadruple-density, 3.5-inch disk
    
    2880 or 2880k or 2880kb or 2.88 or 2.88m or 2.88mb
       2.88-MB, double-sided, extra-high-density, 3.5-inch disk

/B
    Reserves space for the system files IO.SYS and MSDOS.SYS on a newly
    formatted disk (as hidden files). In previous versions of MS-DOS, it was
    necessary to reserve this space before using the SYS command to copy the
    system files to the disk. This switch is maintained in MS-DOS version
    6.0 for compatibility reasons only.

/S
    Copies the operating system files IO.SYS, MSDOS.SYS, and COMMAND.COM
    from your system's startup drive to a newly formatted disk that you can
    use as a system disk. If FORMAT cannot find the operating system files,
    it prompts you to insert a system disk.

/T:tracks
    Specifies the number of tracks on the disk. When possible, use the /F
    switch instead of this switch. If you use the /T switch, you must also
    use the /N switch. These two switches provide an alternative method of
    specifying the size of the disk being formatted. You cannot use the /F
    switch with the /T switch.

/N:sectors
    Specifies the number of sectors per track. When possible, use the /F
    switch instead of this switch. If you use the /N switch, you must     *
    also use the /T switch. These two switches provide an alternative method
    of specifying the size of the disk being formatted. You cannot use the
    /F switch with the /N switch.

/1
    Formats a single side of a floppy disk.

/4
    Formats a 5.25-inch, 360K, double-sided, double-density floppy disk on a
    1.2-MB disk drive. Some 360K drives cannot reliably read disks formatted
    with this switch. When used with the /1 switch, this switch formats a
    5.25-inch, 180K, single-sided floppy disk.

/8
    Formats a 5.25-inch disk with 8 sectors per track. This switch formats a
    floppy disk to be compatible with MS-DOS versions prior to 2.0.

\bRelated Command\p

For information about restoring disks after using the FORMAT command, see
the \i<\p\aUNFORMAT\v@UNFORMAT\v\i>\p command.

                                      
.context Format--Notes
.context @Format--Notes
:nFORMAT--Notes
:z3
\i\p\aExamples\v@Format--Examples\v\i\p  \i\p\aSyntax\v@Format\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bFORMATÄÄNotes\p

\bFormatting a floppy disk\p

Do not format a floppy disk at a size higher than it was designed for. For
example, do not format a 360K floppy disk at 1.2MB.

Also, if you use the FORMAT command without specifying the size of the
floppy disk, MS-DOS will format the floppy disk at the disk capacity of the
disk drive. Thus, if you format a floppy disk without specifying the size,
be careful not to use a floppy disk smaller than the capacity of the disk
drive.

\bTyping a volume label\p

After formatting a floppy disk, FORMAT displays the following message:

    Volume label (11 characters, ENTER for none)?

The volume label can be a maximum of 11 characters (including spaces). If
you do not want your disk to have a volume label, just press ENTER. For
information about volume labels, see the LABEL command.

\bFormatting a hard disk\p

When you use the FORMAT command to format a hard disk, MS-DOS displays a
message of the following form before attempting to format the hard disk:

    WARNING, ALL DATA ON NON-REMOVABLE DISK
    DRIVE x: WILL BE LOST!
    Proceed with Format (Y/N)?_

To format the hard disk, press Y; if you do not want to format the disk,
press N.

\bFORMAT messages\p

When formatting is complete, MS-DOS displays messages showing the total disk
space, any space marked as defective, the total space used by the operating
system (if you used the /S or /B switch), and the space available for your
files.

\bSafe formatting\p

If you do not specify the /U switch or a switch that reformats the disk to a
different size, FORMAT performs a "safe" format, meaning that it clears the
file allocation table and root directory of the disk but does not delete any
data. You can then use the UNFORMAT command to recover the disk if you did
not originally intend to format the disk. FORMAT also checks each sector on
the disk to ensure that the sector can properly store data. If it locates a
sector that cannot store data, FORMAT marks that sector to prevent MS-DOS
from using it.

If you specify the /U switch or any switch that changes the size of the
disk, FORMAT performs an unconditional format operation by deleting all data
on the disk.

\bQuick formatting\p

You can speed up the formatting process by using the /Q switch. Use this
switch only if you have not received read or write errors on your disk. You
can speed up the process even more by using both the /Q and /U switches. If
you use the /U switch, FORMAT does not save the information necessary to
later unformat the disk.

\bFormatting a new disk\p

When you use FORMAT to format a disk that has never been formatted, specify
the /U switch to minimize formatting time.

\bUsing format with a SUBST drive or a network drive\p

You should not use the FORMAT command on a drive prepared by using the SUBST
command. You cannot format disks over a network or an Interlnk drive.

\bFORMAT exit codes\p

The following list shows each exit code and a brief description of its
meaning:

0
    The format operation was successful.

3
    The user pressed CTRL+C or CTRL+BREAK to stop the process.

4
    A fatal error occurred (any error other than 0, 3, or 5).

5
    The user pressed N in response to the prompt "Proceed with Format
    (Y/N)?" to stop the process.

You can check these exit codes by using the ERRORLEVEL condition with the IF
batch command. For an example of a batch program that supports ERRORLEVEL
conditions, see the \i<\p\aCHOICE\v@Choice\v\i>\p command.

                                      
.context Format--Examples
.context @Format--Examples
:nFORMAT--Examples
:z3
\i\p\aSyntax\v@Format\v\i\p  \i\p\aNotes\v@Format--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bFORMATÄÄExamples\p

To format a new floppy disk in drive A, using the default size, type the
following command:

    format a:

To perform a quick format operation on a previously formatted disk in drive
A, type the following command:

    format a: /q

To format a floppy disk in drive A, completely deleting all data on the
disk, type the following command:

    format a: /u

To format a 360K floppy disk in drive A and copy the operating system files
to the disk to make it a system disk, type the following command:

    format a: /f:360 /s

To format a floppy disk in drive A and assign it the volume label "DATA",
type the following command:

    format a: /v:DATA

                                      
.context GOTO
.context @GOTO
:nGOTO
:z3
\i\p\aNotes\v@GOTO--Note\v\i\p  \i\p\aExample\v@GOTO--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bGOTO\p

Directs MS-DOS to a line in a batch program marked by a label you specify.

The GOTO command directs MS-DOS within a batch program to a line identified
by a label. When MS-DOS finds the label, it processes the commands beginning
on the next line.

\bSyntax\p

    GOTO label

\bParameters\p

label
    Specifies the line in a batch program to which MS-DOS should go.

                                      
.context GOTO--Note
.context @GOTO--Note
:nGOTO--Notes
:z3
\i\p\aExample\v@GOTO--Example\v\i\p  \i\p\aSyntax\v@GOTO\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bGOTOÄÄNotes\p

\bValid values for label\p

The label parameter can include spaces but cannot include other separators,
such as semicolons or equal signs.

\bGOTO uses the first eight characters of each label\p

The GOTO command uses only the first eight characters of a label. Therefore,
the labels "hithere01" and "hithere02" are both equivalent to "hithere0".

\bMatching the label parameter with the label in the batch program\p

The label value you specify on the GOTO command line must match a label in
the batch program. The label within the batch program must begin with a
colon.

If your batch program does not contain the label that you specify, the batch
program stops and MS-DOS displays the following message:

    Label not found

MS-DOS recognizes a batch-program line beginning with a colon (:) as a label
and does not process it as a command. If a line begins with a colon, MS-DOS
ignores any commands on that line.

\bUsing GOTO for conditional operations\p

GOTO is often used on the same command line with other commands to perform
conditional operations. For more information about using GOTO for
conditional operations, see the \i<\p\aIF\v@IF\v\i>\p command.

                                      
.context GOTO--Example
.context @GOTO--Example
:nGOTO--Example
:z3
\i\p\aSyntax\v@GOTO\v\i\p  \i\p\aNotes\v@GOTO--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bGOTOÄÄExample\p

The following batch program formats a disk in drive A as a system disk. If
the operation is successful, the GOTO command directs MS-DOS to a label
named "end".

    echo off
    format a: /s
    if not errorlevel 1 goto end
    echo An error occurred during formatting.
    echo End of batch program.

                                      
.context GRAPHICS
.context @GRAPHICS
:nGRAPHICS
:z3
\i\p\aNotes\v@GRAPHICS--Note\v\i\p  \i\p\aExample\v@GRAPHICS--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bGRAPHICS\p

Loads a program into memory that allows MS-DOS to print on a printer the
displayed contents of the screen when you are using a color or graphics
adapter.

The GRAPHICS command supports the CGA, EGA, and VGA graphics display modes.

\bSyntax\p

    GRAPHICS [type] [[drive:][path] filename] [/R] [/B] [/LCD]
    [/PRINTBOX:STD|/PRINTBOX:LCD]

\bParameters\p

type
    Specifies the type of printer. The following list shows each valid value
    for this parameter and a brief description of its meaning:

    COLOR1
        An IBM Personal Computer Color Printer with black ribbon

    COLOR4
        An IBM Personal Computer Color Printer with RGB (red, green, blue,
        and black) ribbon

    COLOR8
        An IBM Personal Computer Color Printer with CMY (cyan, magenta,
        yellow, and black) ribbon

    HPDEFAULT
        Any Hewlett-Packard PCL printer

    DESKJET
        A Hewlett-Packard DeskJet printer

    GRAPHICS
        An IBM Personal Graphics Printer, IBM Proprinter, or IBM Quietwriter
        printer

    GRAPHICSWIDE
        An IBM Personal Graphics Printer with an 11-inch-wide carriage

    LASERJET
        A Hewlett-Packard LaserJet printer

    LASERJETII
        A Hewlett-Packard LaserJet II printer

    PAINTJET
        A Hewlett-Packard PaintJet printer

    QUIETJET
        A Hewlett-Packard QuietJet printer

    QUIETJETPLUS
        A Hewlett-Packard QuietJet Plus printer

    RUGGEDWRITER
        A Hewlett-Packard RuggedWriter printer

    RUGGEDWRITERWIDE
        A Hewlett-Packard RuggedWriterwide printer

    THERMAL
        An IBM PC-convertible Thermal Printer

    THINKJET
        A Hewlett-Packard ThinkJet printer

[drive:][path] filename
    Specifies the location and name of the printer profile that contains
    information about all supported printers. If this parameter is omitted,
    MS-DOS looks for a file called GRAPHICS.PRO in the current directory and
    in the directory that contains the GRAPHICS.COM file.

\bSwitches\p

/R
    Prints the image as it appears on the screen (white characters on a
    black background) rather than reversed (black characters on a white
    background). The latter occurs by default.

/B
    Prints the background in color. This switch is valid for COLOR4 and
    COLOR8 printers.

/LCD
    Prints an image by using the liquid crystal display (LCD) aspect ratio
    instead of the CGA aspect ratio. The effect of this switch is the same
    as that of /PRINTBOX:LCD.

/PRINTBOX:STD|/PRINTBOX:LCD
    Selects the print-box size. You can abbreviate PRINTBOX as PB. You
    should check the first operand of the PRINTBOX statement in your
    GRAPHICS.PRO file and specify the /PRINTBOX:STD switch if that
    operand is STD or the /PRINTBOX:LCD switch if that operand is
    LCD.

\bRelated Command\p

For information about printing text files, see the \i<\p\aPRINT\v@PRINT\v\i>\p command.

                                      
.context GRAPHICS--Note
.context @GRAPHICS--Note
:nGRAPHICS--Notes
:z3
\i\p\aExample\v@GRAPHICS--Example\v\i\p  \i\p\aSyntax\v@GRAPHICS\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bGRAPHICSÄÄNotes\p

\bPrinting the contents of the screen\p

To print the contents of the screen, press the SHIFT+PRINT SCREEN key
combination. If the computer is in 320 x 148 x 200 color graphics mode and
if the printer type is color1 or graphics, the GRAPHICS command prints the
screen contents with as many as four shades of gray. If the computer is in
640 x  148 x  200 color graphics mode, GRAPHICS prints the screen contents
sideways on the paper (landscape orientation). You cannot use the
SHIFT+PRINT SCREEN key combination to print the contents of a screen to a
PostScript printer.

\bEffect on memory\p

The GRAPHICS command decreases the amount of available conventional memory.

\bLoading a new profile\p

If you have already loaded a printer profile and you want to load another
one by using the GRAPHICS command, the new profile must be smaller than the
one already loaded.

To load a new profile that is larger than the one currently loaded, you must
restart your system and then use the GRAPHICS command to load the new
profile.

If you try to use only the GRAPHICS command to load a new profile that is
larger than the currently loaded profile, MS-DOS displays the following
message:

    Unable to reload with profile supplied

                                      
.context GRAPHICS--Example
.context @GRAPHICS--Example
:nGRAPHICS--Example
:z3
\i\p\aSyntax\v@GRAPHICS\v\i\p  \i\p\aNotes\v@GRAPHICS--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bGRAPHICSÄÄExample\p

To prepare to print a graphics screen on your printer, type the following
command:

    graphics

After you display the information you want to print, press SHIFT+PRINT
SCREEN. MS-DOS scans the information displayed on the screen and sends it to
the printer.

                                      
.context Help
.context @Help
:nHELP
:z3
\i\p\aExample\v@help--example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bHELP\p

Starts MS-DOS Help.

\bSyntax\p

To start MS-DOS Help and display the table of contents, use the following
syntax:

    HELP

To start MS-DOS Help and display a particular command instead of the table
of contents, use the following syntax:

    HELP [command]

\bParameter\p

command

    Specifies the command whose help topic you want to display.

\bRelated Command\p

For information about other online Help information, see the \i<\p\aDOSHELP\v@DOSHELP\v\i>\p
command.

                                      
.context help--example
.context @help--example
:nHELP--Example
:z3
\i\p\aSyntax\v@Help\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bHELPÄÄExample\p

If you wanted to display the topic about the COPY command, you would type
the following at the command prompt:

    help copy

If you wanted to display the MS-DOS Help table of contents, you would just
type HELP. From the table of contents, you would choose the command topic
you wanted to view.

                                      
.context HIMEM.SYS
.context @HIMEM.SYS
:nHIMEM.SYS
:z3
\i\p\aNotes\v@HIMEM.SYS--Note\v\i\p  \i\p\aExamples\v@HIMEM.SYS--Example\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bHIMEM.SYS\p

HIMEM is an extended-memory managerÄÄa program that coordinates the use of
your system's extended memory, including the high memory area (HMA), so that
no two applications use the same memory at the same time.

You install HIMEM by adding a DEVICE command for HIMEM.SYS to your
CONFIG.SYS file. The HIMEM command line must come before any commands that
start applications or device drivers that use extended memory; for example,
0HIMEM.SYS must come before the EMM386 command line.

\bSyntax\p

    DEVICE=[drive:][path]HIMEM.SYS [/A20CONTROL:ON|OFF] [/CPUCLOCK:ON|OFF]
    [/EISA] [/HMAMIN=m] [/INT15=xxxx] [/NUMHANDLES=n] [/MACHINE:xxxx]
    [/SHADOWRAM:ON|OFF] [/QUIET]

An explanation of each part of the command line follows. In most cases you
won't need to specify command-line options, since the default values are
designed to work with most hardware.

\bParameter\p

[drive:][path]
    Specifies the location of the HIMEM.SYS file. HIMEM.SYS should always be
    located on the same drive that contains your MS-DOS files. If the
    HIMEM.SYS file is in the root directory of your startup drive, you don't
    need to include a path. However, you must always include the filename
    (HIMEM.SYS).

\bSwitches\p

/A20CONTROL:ON|OFF
    Specifies whether HIMEM is to take control of the A20 line even if A20
    was on when HIMEM was loaded. The A20 handler gives your computer access
    to the HMA. If you specify /A20CONTROL:OFF, HIMEM takes control of the
    A20 line only if A20 was off when HIMEM was loaded. The default setting
    is /A20CONTROL:ON.

/CPUCLOCK:ON|OFF
    Specifies whether HIMEM is to affect the clock speed of your computer.
    If your computer's clock speed changes when you install HIMEM,
    specifying /CPUCLOCK:ON may correct the problem; however, enabling this
    option slows down HIMEM. The default setting is /CPUCLOCK:OFF.

/EISA
    Specifies that HIMEM.SYS should allocate all available extended memory.
    This switch is necessary only on an EISA (Extended Industry Standard
    Architecture) system with more than 16 MB of memory; on other systems,
    HIMEM automatically allocates all available extended memory.

/HMAMIN=m
    Specifies how many kilobytes of memory an application must require for
    HIMEM to give that application use of the high memory area (HMA). Only
    one application can use the HMA at a time; HIMEM allocates the HMA to
    the first application that meets the memory-use requirements set by this
    option. You can specify a value from 0 to 63.

    Set /HMAMIN to the amount of memory required by the application that
    uses the most HMA memory.

    The /HMAMIN option is not required; the default value is zero. Omitting
    this option (or setting it to zero) specifies that HIMEM allocate the
    HMA to the first application that requests it, regardless of how much of
    the HMA the application is going to use.

    The /HMAMIN option has no effect when Windows is running in 386 enhanced
    mode.

/INT15=xxxx
    Allocates the amount of extended memory (in kilobytes) to be reserved
    for the Interrupt 15h interface. Some older applications use the
    Interrupt 15h interface to allocate extended memory rather than using
    the XMS (eXtended-Memory Specification) method provided by HIMEM. If you
    use these applications, you can ensure enough memory is available to
    them by setting xxxx to 64 KB larger than the amount required by the
    application.

    You can specify a value from 64 to 65535; however, you cannot specify
    more memory than your system has available. If you specify a value less
    than 64, the value becomes 0. The default value is 0.

/NUMHANDLES=n
    Specifies the maximum number of extended-memory block (EMB) handles that
    can be used simultaneously. You can specify a value from 1 to 128; the
    default value is 32. Each additional handle requires an additional 6
    bytes of memory.

    The /NUMHANDLES option has no effect when Windows is running in 386
    enhanced mode.

/MACHINE:xxxx
    Specifies what type of computer you are using. Usually, HIMEM can detect
    your system type successfully; however, there are a few computers that
    HIMEM cannot detect. On such systems, HIMEM uses the default system type
    (IBM AT or compatible). You might need to include the /MACHINE option if
    your computer is a type that HIMEM cannot detect and if HIMEM does not
    work properly on your system by using the default system type.

    Currently, systems that require this option include Acer 1100, Wyse, and
    IBM 7552.

    The value for xxxx can be any of the codes or their equivalent numbers
    listed in the following table.

\bCode         Number  Computer type
\pÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

at           1       IBM AT or 100% compatible

ps2          2       IBM PS/2

ptlcascade   3       Phoenix Cascade BIOS

hpvectra     4       HP Vectra (A & A+)

att6300plus  5       AT&T 6300 Plus

acer1100     6       Acer 1100

toshiba      7       Toshiba 1600 & 1200XE

wyse         8       Wyse 12.5 Mhz 286

tulip        9       Tulip SX

zenith       10      Zenith ZBIOS

at1          11      IBM PC/AT (alternative delay)

at2          12      IBM PC/AT (alternative delay)

css          12      CSS Labs

at3          13      IBM PC/AT (alternative delay)

philips      13      Philips

fasthp       14      HP Vectra

ibm7552      15      IBM 7552 Industrial Computer

bullmicral   16      Bull Micral 60

dell         17      Dell XBIOS

/SHADOWRAM:ON|OFF
    Specifies whether to disable shadow RAM. Some computers make ROM code
    run faster by "shadowing" it in RAMÄÄthat is, by copying the ROM code
    into faster RAM memory at startup. However, this uses some extended
    memory. Usually, on computers that use shadow RAM and have less than 2
    MB of RAM, HIMEM attempts to disable shadow RAM to recover additional
    extended memory for Windows to use. (HIMEM can disable shadow RAM only
    on certain types of systems.) When HIMEM disables shadow RAM, the ROM
    code runs in the slower ROM instead of RAM; therefore, your computer
    might run slightly slower.

    To leave the ROM code running from RAM, even on systems with less than 2
    MB of memory, include the value /SHADOWRAM:ON. To have HIMEM disable
    shadow RAM, include the value /SHADOWRAM:ON.

/QUIET
    Prevents HIMEM.SYS from displaying status and error messages while
    loading. You can abbreviate /QUIET as /Q.

                                      
.context HIMEM.SYS--Note
.context @HIMEM.SYS--Note
:nHIMEM.SYS--Notes
:z3
\i\p\aExamples\v@HIMEM.SYS--Example\v\i\p  \i\p\aSyntax\v@HIMEM.SYS\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bHIMEM.SYSÄÄNotes\p

\bDefault memory allocation\p

Only one program can use the high memory area at a time. If you omit the
/HMAMIN=m switch (or set it to 0), HIMEM.SYS reserves the HMA for the first
program that requests it and that meets the memory requirements set by the
/HMAMIN=m switch. To ensure the most efficient use of your system's high
memory area, set /HMAMIN=m to the amount of memory required by the program
that uses the most HMA memory.

\bLoading MS-DOS into the high memory area\p

HIMEM.SYS or another XMS driver must be loaded in order to load MS-DOS into
the high memory area (HMA). You load MS-DOS into the HMA by using the
DOS=HIGH command in your CONFIG.SYS file. (The DOS=HIGH command can appear
anywhere in the CONFIG.SYS file.)

                                      
.context HIMEM.SYS--Example
.context @HIMEM.SYS--Example
:nHIMEM.SYS--Examples
:z3
\i\p\aSyntax\v@HIMEM.SYS\v\i\p  \i\p\aNotes\v@HIMEM.SYS--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bHIMEM.SYSÄÄExamples\p

The following command line runs HIMEM by using the default values:

    device=himem.sys

The command line does not include a path for HIMEM.SYS; therefore, MS-DOS
searches for the HIMEM.SYS file only in the root directory of your startup
drive. Because this command line does not include additional options, HIMEM
uses the default values for those options. HIMEM allocates the HMA to the
first application that requests it and allows the simultaneous use of up to
32 extended-memory handles.

\bIncreasing the number of memory handles that HIMEM provides\p

The following command line specifies that up to 128 extended-memory handles
can be used simultaneously.

    device=c:\\devices\\himem.sys /numhandles=128

The command line specifies that the HIMEM.SYS file is located in the DEVICES
directory on drive C and that HIMEM supports a maximum of 128 handles.

                                      
.context IF
.context @IF
:nIF
:z3
\i\p\aExamples\v@IF--Example\v\i\p                                                                  
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                     \bIF\p

Performs conditional processing in batch programs. If the condition
specified by an IF command is true, MS-DOS carries out the command that
follows the condition. If the condition is false, MS-DOS ignores the
command.

\bSyntax\p

    IF [NOT] ERRORLEVEL number command

    IF [NOT] string1==string2 command

    IF [NOT] EXIST filename command

\bParameters\p

NOT
    Specifies that MS-DOS should carry out the command only if the condition
    is false.

ERRORLEVEL number
    Specifies a true condition only if the previous program run by
    COMMAND.COM returned an exit code equal to or greater than number.

command
    Specifies the command that MS-DOS should carry out if the preceding
    condition is met.

string1==string2
    Specifies a true condition only if string1 and string2 are the same.
    These values can be literal strings or batch variables (%1, for
    example). Literal strings do not need quotation marks.

EXIST filename
    Specifies a true condition if filename exists.

                                      
.context IF--Example
.context @IF--Example
:nIF--Example
:z3
\i\p\aSyntax\v@IF\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bIFÄÄExamples\p

When a program stops, it returns an exit code to MS-DOS. For example, a
value of 0 is typically used to indicate successful execution of the
program. The ERRORLEVEL parameter lets you use exit codes as conditions.

The following example displays the message "Can't find data file" if MS-DOS
cannot find the file PRODUCT.DAT:

    if not exist product.dat echo Can't find data file

The following example displays an error message if an error occurs during
formatting of the disk in drive A. If no error occurs, the error message is
skipped.

    :begin
    echo off
    format a: /s
    if not errorlevel 1 goto end
    echo An error occurred during formatting.
    :end
    echo End of batch program.

The following example tests for the existence of a directory. The IF command
cannot be used to test directly for a directory, but the null (NUL) device
does exist in every directory on the hard drive. Therefore, you can test for
the null device to determine whether a directory exists on the hard drive.

    if exist c:\\mydir\\nul goto process

For another example of how the ERRORLEVEL parameter is used, see the
\i<\p\aCHOICE\v@Choice\v\i>\p command.

                                      
.context INCLUDE
.context @INCLUDE
:nINCLUDE
:z3
\i\p\aExample\v@INCLUDE--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bINCLUDE\p

Includes the contents of a configuration block. Can be used only in the
CONFIG.SYS file.

The INCLUDE command is one of five special CONFIG.SYS commands used for
defining multiple configurations within a single CONFIG.SYS file. With
multiple configurations, you define a menu that appears when your computer
starts. Each menu item corresponds to a block of commands, or "configuration
block," in your CONFIG.SYS file. For more information about multiple
configurations and configuration blocks, see the chapter "Configuring Your
System" in the MS-DOS User's Guide.

\bSyntax\p

    INCLUDE=blockname

\bParameter\p

blockname
    Specifies the name of the configuration block to include.

\bRelated Commands\p

The INCLUDE command is one of five special CONFIG.SYS commands for defining
multiple configurations. The other commands are for defining the startup
menu, and are as follows:

  The \i<\p\aMENUITEM\v@MENUITEM\v\i>\p command, which defines an item on the menu.

  The \i<\p\aMENUDEFAULT\v@MENUDEFAULT\v\i>\p command, which specifies the default menu item.

  The \i<\p\aMENUCOLOR\v@MENUCOLOR\v\i>\p command, which defines the color of the menu's text and
   screen background.

  The \i<\p\aSUBMENU\v@SUBMENU\v\i>\p command, which defines a submenu.

In addition, the \i<\p\aNUMLOCK\v@NUMLOCK\v\i>\p command is especially useful when defining
startup menus.

                                      
.context INCLUDE--Example
.context @INCLUDE--Example
:nINCLUDE--Examples
:z3
\i\p\aSyntax\v@INCLUDE\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bINCLUDEÄÄExamples\p

The following CONFIG.SYS file defines three configurations:

    [menu]
    menuitem base_config,Base configuration only
    menuitem full_config,Normal configuration
    menuitem net_config, Normal configuration with network

    [base_config]
    dos=high
    device=c:\\dos\\himem.sys

    [full_config]
    include=base_config
    dos=umb
    device=c:\\dos\\emm386.exe ram
    devicehigh=c:\\dos\\ramdrive.sys 512

    [net_config]
    include=full_config
    devicehigh=c:\\net\\network.sys

    [common]

This CONFIG.SYS file contains four configuration blocks. The [base_config]
block contains two typical CONFIG.SYS commands. The [full_config block
includes the commands in [base_config] plus the DOS=UMB command, a DEVICE
command, and a DEVICEHIGH command. The third configuration, [net_config],
includes all the commands in [full_config], which in turn includes those in
[base_config]. The [common] block appears at the end of the CONFIG.SYS file.
It is a good idea to end your CONFIG.SYS file with a [common] block so that
installation programs can successfully append commands to your CONFIG.SYS
file.

                                      
.context INSTALL
.context @INSTALL
:nINSTALL
:z3
\i\p\aNotes\v@INSTALL--Note\v\i\p  \i\p\aExample\v@INSTALL--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bINSTALL\p

Loads a memory-resident program into memory when you start MS-DOS.

Memory-resident programs stay in memory as long as your system is on. They
can be used even when other programs are active. You can use the INSTALL
command to load MS-DOS memory-resident programsÄÄfor example, Fastopen,
Keyb, Nlsfunc, and Share.

\bSyntax\p

    INSTALL=[drive:][path]filename [command-parameters]

\bParameters\p

[drive:][path]filename
    Specifies the location and name of the memory-resident program you want
    to run.

command-parameters
    Specifies parameters for the program you specify for filename.

                                      
.context INSTALL--Note
.context @INSTALL--Note
:nINSTALL--Notes
:z3
\i\p\aExample\v@INSTALL--Example\v\i\p  \i\p\aSyntax\v@INSTALL\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bINSTALLÄÄNotes\p

INSTALL does not create an environment for a program it loads. Therefore,
slightly less memory is used if you load a program with INSTALL rather than
from your AUTOEXEC.BAT file. Some programs might not run correctly if they
are loaded with INSTALL. Do not use INSTALL to load programs that use
environment variables or shortcut keys or that require COMMAND.COM to be
present to handle critical errors.

\bOrder of CONFIG.SYS Processing\p

All INSTALL commands are processed after any of the DEVICE commands and
before the command interpreter is loaded. You cannot load a
terminate-and-stay resident (TSR) program before a device driver loaded with
the DEVICE command.

                                      
.context INSTALL--Example
.context @INSTALL--Example
:nINSTALL--Example
:z3
\i\p\aSyntax\v@INSTALL\v\i\p  \i\p\aNotes\v@INSTALL--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bINSTALLÄÄExample\p

Suppose you want to install FASTOPEN.EXE, located in the DOS directory on
drive C, from your CONFIG.SYS file instead of from your AUTOEXEC.BAT file or
the command line. In addition, you want to specify that Fastopen is to track
the opening of up to 100 files and directories on drive C. To do this,
include the following command in your CONFIG.SYS file:

    install=c:\\dos\\fastopen.exe c:=100

                                      
.context INTERLNK
.context @INTERLNK
:nINTERLNK
:z3
\i\p\aNotes\v@INTERLNK--Notes\v\i\p  \i\p\aExamples\v@INTERLNK--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bINTERLNK\p

Redirects requests for operations on client drives or printer ports to
server computer drives or printer ports. For example, you could connect a
laptop computer to a desktop computer and share files. You must install the
\i<\p\aINTERLNK.EXE\v@INTERLNK.EXE\v\i>\p device driver before you can use this command.

\bSyntax\p

    INTERLNK [client[:]=[server][:]]

To display the current status of the Interlnk program, use the following
syntax:

    INTERLNK

\bParameters\p

client
    Specifies the letter of the client drive that is redirected to a drive
    on the Interlnk server. The drive must be one that was redirected when
    you started Interlnk.

server
    Specifies the letter of the drive on the Interlnk server that will be
    redirected. The drive must be one listed in the This Computer (Server)
    column of the Interlnk server screen.

\bRelated Commands\p

For more information about the Interlnk device driver, see \i<\p\aINTERLNK.EXE\v@INTERLNK.EXE\v\i>\p.

For more information about Intersvr, see the \i<\p\aINTERSVR\v@INTERSVR\v\i>\p command.

                                      
.context INTERLNK--Notes
.context @INTERLNK--Notes
:nINTERLNK--Notes
:z3
\i\p\aExamples\v@INTERLNK--Examples\v\i\p  \i\p\aSyntax\v@INTERLNK\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bINTERLNKÄÄNotes\p

\bInstalling the INTERLNK.EXE device driver\p

You must use the DEVICE command to install the \i<\p\aINTERLNK.EXE\v@INTERLNK.EXE\v\i>\p device driver
before you can use the INTERLNK command.

\bCanceling redirection on a drive\p

To cancel redirection of a client drive to a server drive, specify only the
client drive and the equal sign (=).

\bStarting INTERLNK without a server\p

If you use INTERLNK to connect to a computer that is not running
\i<\p\aINTERSVR\v@INTERSVR\v\i>\p, INTERLNK will show the connection as 3 additional floppy disk
drives. However, if you try to show the contents of these drives, they will
appear empty. To show the contents of the redirected drives, the server must
be running INTERSVR.

\bAssigning drive letters\p

When you connect two computers using INTERLNK, the additional drives will be
assigned the next available drive letter.
                                      
.context INTERLNK--Examples
.context @INTERLNK--Examples
:nINTERLNK--Examples
:z3
\i\p\aSyntax\v@INTERLNK\v\i\p  \i\p\aNotes\v@INTERLNK--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bINTERLNKÄÄExamples\p

\bExamples\p

Suppose drive E exists on a server, and INTERSVR is running. To redirect
drive G on the client to drive E on the server, type the following command:

    interlnk g=e

To cancel the redirection of client drive F, type the following command:

    interlnk f=

                                      
.context INTERLNK.EXE
.context @INTERLNK.EXE
:nINTERLNK.EXE
:z3
\i\p\aNotes\v@INTERLNK.EXE--Notes\v\i\p  \i\p\aExamples\v@INTERLNK.EXE--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bINTERLNK.EXE\p

Redirects requests for operations on one or more Interlnk client drives or
printer ports to one or more drives or printer ports on the Interlnk server.
For example, you could connect a laptop computer to a desktop computer and
share files. You must install the INTERLNK.EXE device driver before you can
use the \i<\p\aINTERLNK\v@INTERLNK\v\i>\p and \i<\p\aINTERSVR\v@INTERSVR\v\i>\p commands.

\bSyntax\p

    DEVICE=[drive:][path]INTERLNK.EXE [/DRIVES:n] [/NOPRINTER]
    [/COM[:][n|address]] [/LPT[:][n|address]] [/AUTO] [/NOSCAN] [/LOW ]
    [/BAUD:rate] [/V]

\bParameters\p

[drive:][path]
    Specifies the location of the INTERLNK.EXE file.

\bSwitches\p

/DRIVES:n
    Specifies the number of redirected drives. By default, the number is 3.
    If you specify 0 as a value for n, Interlnk redirects only printers.

/NOPRINTER
    Specifies that printers not be redirected when you install INTERLNK.EXE.
    By default, Interlnk redirects all available printer ports.

/COM[:][n|address]
    Specifies a serial port to use for data transfer. The n parameter
    specifies the number of the serial port. The address parameter specifies
    the address of the serial port. If you omit n or address, the Interlnk
    client searches all serial ports and uses the first port that it finds
    connected to the server. If you specify the /COM switch and omit the
    /LPT switch, the client searches only for serial ports. By default,
    Interlnk scans all serial and parallel ports.

/LPT[:][n|address]
    Specifies a parallel port to use for data transfer. The n parameter
    specifies the number of the LPT port. The address parameter specifies
    the address of the LPT port. If you omit n or address, the Interlnk
    client uses the first parallel port that it finds connected to the
    server. If you specify the /LPT switch and omit the /COM switch, the
    client searches only for parallel ports. By default, Interlnk scans all
    serial and parallel ports.

/AUTO
    Installs the INTERLNK.EXE device driver in memory only if the client can
    establish a connection with the server when the client starts up. By
    default, Interlnk is installed in memory even if the client cannot
    establish a connection with the server.

/NOSCAN
    Installs the INTERLNK.EXE device driver in memory, but prevents
    establishing a connection between client and server during setup. By
    default, the client tries to establish a connection with the server as
    soon as you install INTERLNK.EXE.

/LOW
    Loads the INTERLNK.EXE device driver into conventional memory, even if
    the upper memory area is available. By default, INTERLNK.EXE is loaded
    into the upper memory area, if the upper memory area is available.

/BAUD:rate
    Sets a maximum baud rate for serial communication. Valid values for rate
    are 9600, 19200, 38400, 57600, and 115200. The default is 115200.

/V
    Prevents conflicts with a computer's timer. Specify this switch if you
    have a serial connection between computers and one of them stops running
    when you use Interlnk to access a drive or printer port.

                                      
.context INTERLNK.EXE--Notes
.context @INTERLNK.EXE--Notes
:nINTERLNK.EXE--Notes
:z3
\i\p\aExamples\v@INTERLNK.EXE--Examples\v\i\p  \i\p\aSyntax\v@INTERLNK.EXE\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bINTERLNK.EXEÄÄNotes\p

\bLoading into the upper memory area\p

By default, the Interlnk device driver is loaded into the upper memory area,
if MS-DOS 6.0 UMB support is enabled and memory is available. To load the
device driver in conventional memory, use the /LOW switch.

\bPosition of the Interlnk command in the CONFIG.SYS file\p

The position of the device command that loads INTERLNK.EXE can affect
pre-existing drive assignments. For example, suppose your computer includes
a floppy disk drive (A), two hard disk drives (C and D), and two RAM drives
(E and F). If you load the INTERLNK.EXE device driver before installing the
RAM drives, and you choose to redirect three drives, Interlnk will assign
letters E, F, and G to the redirected drives and letters H and I to the RAM
drives. To prevent this from happening, load INTERLNK.EXE last in your
CONFIG.SYS file.

\bSaving memory\p

By default, the Interlnk device driver loads all its code into memory. You
can save memory by specifying the /NOPRINTER, /LPT, or /COM switch. If you
specify the /NOPRINTER switch, the Interlnk program does not load code that
redirects printers. If you specify the /LPT switch without the /COM switch,
the program does not load code that supports serial ports. If you specify
the /COM switch without the /LPT switch, the program does not load code that
supports parallel ports.

\bUsing a serial mouse with Microsoft Windows\p

If you are using a serial mouse with Microsoft Windows, specify either the
/LPT switch or a /COM switch that designates a COM port other than the one
the mouse is using. For example, if the serial mouse uses COM1, and you are
using a parallel connection, specify the /LPT switch to prevent Interlnk
from scanning all COM ports.

\bRedirecting LPT1 or LPT2 and printing from Microsoft Windows\p

If you redirect LPT1 or LPT2 and print from Microsoft Windows, use Control
Panel to assign the printer to either LPT1.DOS or LPT2.DOS.

\bVersion of MS-DOS\p

Some features of MS-DOS may not be available to the client computer if you
are running a different DOS version on your Interlnk server. For example, if
you have large partitions on your Interlnk server and are running MS-DOS 3.0
on your client, the partitions will not be available to the client because
MS-DOS 3.0 does not support them.

\bRunning an application located on the server\p

If you use the Interlnk program to run an application located on the server,
make sure the application is configured for the computer you have designated
as the Interlnk client.

\bLimitations on using INTERLNK with other commands\p

The following commands do not work with the INTERLNK.EXE device driver:

    CHKDSK         FORMAT

    DEFRAG         MIRROR

    DISKCOMP       SYS

    DISKCOPY       UNDELETE

    FDISK          UNFORMAT

                                      
.context INTERLNK.EXE--Examples
.context @INTERLNK.EXE--Examples
:nINTERLNK.EXE--Examples
:z3
\i\p\aSyntax\v@INTERLNK.EXE\v\i\p  \i\p\aNotes\v@INTERLNK.EXE--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                           \bINTERLNK.EXEÄÄExamples\p

Suppose your Interlnk files are located in the DOS directory on drive C, and
you use the serial port to connect to another computer. To start Interlnk
and specify that printers not be redirected, add the following command line
to your CONFIG.SYS file:

    device=c:\\dos\\interlnk.exe /com /noprinter

To specify that Interlnk use a non-standard COM port whose address is 3F8,
add the following line to your CONFIG.SYS file:

    device=c:\\dos\\interlnk.exe /com:3f8

                                      
.context INTERSVR
.context @INTERSVR
:nINTERSVR
:z3
\i\p\aNotes\v@INTERSVR--Notes\v\i\p  \i\p\aExamples\v@INTERSVR--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bINTERSVR\p

Starts the Interlnk server, which provides serial or parallel file transfer
capability through redirected drives, and printing through redirected
printer ports. For example, you could connect a laptop computer to a desktop
computer and share files.

\bSyntax\p

    INTERSVR [drive:] [/X=drive:] [/LPT:[n|address]] [/COM:[n|address]]
    [/BAUD:rate] [/B] [/V]

To copy Interlnk files from one computer to another, use the following
syntax:

    INTERSVR /RCOPY

\bParameter\p

drive:
    Specifies the letter of a drive that will be redirected. By default, all
    drives are redirected.

\bSwitches\p

/X=drive:
    Specifies a drive that will not be redirected. By default, all drives
    are redirected.

/LPT:[n|address]
    Specifies a parallel port to use. The n parameter specifies the number
    of the parallel port. The address parameter specifies the address of the
    parallel port. If you omit n or address, the Interlnk server uses the
    first parallel port that it finds connected to the client. If you
    specify the /LPT switch and omit the /COM switch, the server searches
    only for parallel ports. By default, all parallel and serial ports are
    scanned.

/COM:[n|address]
    Specifies a serial port to use. The n parameter specifies the number of
    the serial port. The address parameter specifies the address of the
    serial port. If you omit n or address, the Interlnk server searches all
    serial ports and uses the first port that it finds connected to the
    client. If you specify the /COM switch and omit the /LPT switch, the
    server searches only for serial ports. By default, all parallel and
    serial ports are scanned.

/BAUD:rate
    Sets a maximum serial baud rate. Valid values for rate are 9600, 19200,
    38400, 57600, and 115200. The default value is 115200.

/B
    Displays the Interlnk server screen in black and white. Use this switch
    if you are having problems reading your monochrome monitor.

/V
    Prevents conflicts with a computer's timer. Use this switch if you have
    a serial connection between computers and one of them stops running when
    you use Interlnk to access a drive or printer port.

/RCOPY
    Copies Interlnk files from one computer to another, provided that the
    computers are connected with a 7-wire, null-modem serial cable and that
    the \i<\p\aMODE\v@MODE\v\i>\p command is available on the computer where you are installing
    Interlnk.

\bRelated Commands\p

For more information about Interlnk, see \i<\p\aINTERLNK\v@INTERLNK\v\i>\p and \i<\p\aINTERLNK.EXE\v@INTERLNK.EXE\v\i>\p.

                                      
.context INTERSVR--Notes
.context @INTERSVR--Notes
:nINTERSVR--Notes
:z3
\i\p\aExamples\v@INTERSVR--Examples\v\i\p  \i\p\aSyntax\v@INTERSVR\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bINTERSVRÄÄNotes\p

\bSpecifying the order of drives\p

Interlnk redirects drives in the order you specify. The first server drive
specified is redirected to the first available client drive, the second
server drive specified is redirected to the second available client drive,
and so forth.

\bRedirected devices\p

Interlnk does not redirect network drives, CD-ROM drives, or any other
device that uses a redirection interface.

\bRemote copy procedure\p

To copy Interlnk files from one computer to another by using the /RCOPY
switch, you must connect the 7-wire, null-modem serial cable to the
computers' serial ports.

\bUsing a serial mouse with Microsoft Windows\p

If you are using a serial mouse with Microsoft Windows, and you start the
Interlnk server while Windows is running, you need to specify either the
/LPT switch or a /COM switch that designates a COM port other than the one
the mouse is using. For example, if the serial mouse uses COM1, and you are
using a parallel connection, specify the /LPT switch to prevent Interlnk
from scanning all COM ports.

\bUsing Interlnk in a task-switching or multitasking environment\p

If you start the Interlnk server in a task-switching or multitasking
environment, task switching and key combinations that switch you out of your
current task are disabled. To restore these functions, quit the server.

\bLimitations on using INTERSVR with other commands\p

The following commands do not work with the Interlnk server:

    CHKDSK         FORMAT

    DEFRAG         MIRROR

    DISKCOMP       SYS

    DISKCOPY       UNDELETE

    FDISK          UNFORMAT

                                      
.context INTERSVR--Examples
.context @INTERSVR--Examples
:nINTERSVR--Examples
:z3
\i\p\aSyntax\v@INTERSVR\v\i\p  \i\p\aNotes\v@INTERSVR--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bINTERSVRÄÄExamples\p

Suppose you have two computers that each include drives A, B, and C. To
start the Interlnk server and specify that server drive C be redirected to
client drive D, server drive A be redirected to client drive E, and server
drive B be redirected to client drive F, type the following command:

    intersvr c: a: b:

To specify that all server drives except drive A be redirected and that LPT2
be used to connect to the client, type the following command:

    intersvr /x=a /lpt2

                                      
.context KEYB
.context @KEYB
:nKEYB
:z3
\i\p\aNotes\v@KEYB--Note\v\i\p  \i\p\aExample\v@KEYB--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bKEYB\p

Starts the Keyb program, which configures a keyboard for a specific
language.

Use Keyb to configure a keyboard for a language other than United States
English.

\bSyntax\p

    KEYB [xx[,[yyy][,[drive:][path] filename]]] [/E] [/ID:nnn]

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

    INSTALL=[[dos-drive:]dos-path]KEYB.COM [xx[,[yyy][,[drive:][path]
    filename]]] [/E] [/ID:nnn]

\bParameters\p

xx
    Specifies the keyboard code. See the table at the end of this topic for
    a list of valid values for this parameter.

yyy
    Specifies the code page. See the table at the end of this topic for a
    list of valid values for this parameter. If this value is not specified,
    KEYB uses the current code page.

[drive:][path] filename
    Specifies the location and name of the keyboard definition file. The
    default filename is KEYBOARD.SYS. If KEYBOARD.SYS is in a directory
    included in the path, you do not have to specify these parameters.

[dos-drive:]dos-path
    Specifies the location of the KEYB.COM file.

\bSwitches\p

/E
    Specifies that an enhanced keyboard is installed. Use this switch if
    you are using an enhanced keyboard with an 8086 computer.

/ID:nnn
    Specifies the keyboard in use. This switch is valid only for
    countries that have more than one keyboard layout for the same language
    (France, Italy, and the United Kingdom). See the following table for a
    list of valid values for nnn.

\bValues for xx, yyy, and nnn\p

The following table shows the valid values for xx, yyy, and nnn for each
country or language:

\bCountry or language   Keyboard code (xx         Code      Keyboard
                      value)                    page      identification
                                                (yyy      (MInnnD value)
                                                value)    
\pÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

Belgium               be                        850,      
                                                437       

Brazil                br                        850,      
                                                437       

Canadian-French       cf                        850,      
                                                863       

Czechoslovakia        cz                        852,      
(Czech)                                         850       

Czechoslovakia        sl                        852,      
(Slovak)                                        850       

Denmark               dk                        850,      
                                                865       

Finland               su                        850,      
                                                437       

France                fr                        850,      120, 189
                                                437       

Germany               gr                        850,      
                                                437       

Hungary               hu                        852,      
                                                850       

Italy                 it                        850,      141, 142
                                                437       

Latin America         la                        850,      
                                                437       

Netherlands           nl                        850,      
                                                437       

Norway                no                        850,      
                                                865       

Poland                pl                        852,      
                                                850       

Portugal              po                        850,      
                                                860       

Spain                 sp                        850,      
                                                437       

Sweden                sv                        850,      
                                                437       

Switzerland           sf                        850,      
(French)                                        437       

Switzerland           sg                        850,      
(German)                                        437       

United Kingdom        uk                        850,      166, 168
                                                437       

United States         us                        850,      
                                                437       

Yugoslavia            yu                        852,      
                                                850       

\bRelated Command\p

For information about using active and prepared code pages, see the \i<\p\aCHCP\v@Chcp\v\i>\p
command.

                                      
.context KEYB--Note
.context @KEYB--Note
:nKEYB--Notes
:z3
\i\p\aExample\v@KEYB--Example\v\i\p  \i\p\aSyntax\v@KEYB\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bKEYBÄÄNotes\p

\bInstalling code pages\p

The code page you specify for yyy must be installed on your system. If it
isn't, any characters not in the current code page will not be usable.

\bDisplaying the current keyboard code and code page\p

If you use the KEYB command with no parameters or switches, MS-DOS lists the
current keyboard code, the current keyboard's related code page, and the
current code page used by your console (CON). The information is displayed
in the following format:

    Current keyboard code: FR code page: 437
    Current CON code page: 437

\bSwitching between Keyb settings\p

You can switch from the current Keyb keyboard configuration to the default
keyboard configuration at any time by pressing CTRL+ALT+F1. To return to the
memory-resident keyboard configuration, press CTRL+ALT+F2. You can switch to
"typewriter mode," the standard for some countries, by pressing
CTRL+ALT+F7.

\bImplementing Keyb\p

The following list shows the three different ways that you can start the
Keyb program:

  Type KEYB at the command prompt.

  Include an INSTALL command for KEYB.COM in your CONFIG.SYS file.

  Include the appropriate KEYB command in your AUTOEXEC.BAT file.

\bKeyb exit codes\p

The following list shows each exit code and a brief description of its
meaning:

0    Keyboard definition file was loaded successfully.

1    Invalid keyboard code, code page, or syntax was used.

2    Keyboard definition file is bad or missing.

4    An error occurred while communicating with the CON device.

5    The requested code page has not been prepared.

You can use the ERRORLEVEL parameter on the IF command line in a batch
program to process exit codes returned by Keyb. For an example of a batch
program that processes exit codes, see the \i<\p\aDISKCOMP\v@Diskcomp\v\i>\p command.
                                      
.context KEYB--Example
.context @KEYB--Example
:nKEYB--Example
:z3
\i\p\aSyntax\v@KEYB\v\i\p  \i\p\aNotes\v@KEYB--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bKEYBÄÄExample\p

If you want to use a German keyboard and your KEYBOARD.SYS file is in the
DOS directory on drive C, type the following command:

    keyb gr,,c:\\dos\\keyboard.sys

                                      
.context LABEL
.context @LABEL
:nLABEL
:z3
\i\p\aNotes\v@LABEL--Note\v\i\p  \i\p\aExample\v@LABEL--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bLABEL\p

Creates, changes, or deletes the volume label (name) of a disk.

MS-DOS displays the volume label as part of the directory listing. If a
volume serial number exists, MS-DOS displays this number as well.

\bSyntax\p

    LABEL [drive:][label]

To specify that MS-DOS is to display the current volume label and serial
number, if they exist, and that MS-DOS is to prompt you to enter a label or
delete the existing one, use the following syntax:

    LABEL

\bParameters\p

drive:
    Specifies the location of the disk you want to name.

label
    Specifies the new volume label. You must include a colon (:) between
    drive and label.

\bRelated Commands\p

For information about displaying the current disk label, see the \i<\p\aDIR\v@Dir\v\i>\p or
\i<\p\aVOL\v@VOL\v\i>\p command.

For information about the volume serial number of a disk, see the \i<\p\aVOL\v@VOL\v\i>\p
command.

                                      
.context LABEL--Note
.context @LABEL--Note
:nLABEL--Notes
:z3
\i\p\aExample\v@LABEL--Example\v\i\p  \i\p\aSyntax\v@LABEL\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bLABELÄÄNotes\p

\bLABEL command messages\p

If you do not specify a label when you use the LABEL command, MS-DOS
displays a message in the following format:

    Volume in drive A is \bxxxxxxxxxxx\p
    Volume Serial Number is \bxxxx-xxxx\p
    Volume label (11 characters, ENTER for none)?

The "Volume Serial Number" part of the message is not displayed if the disk
has no serial number.

You can type the volume label you want or press ENTER to delete the current
label. If a disk has a label and you press ENTER for none, MS-DOS prompts
you with the following message:

    Delete current volume label (Y/N)?

Press Y to delete the label; press N to keep the label.

\bLimitations on volume label names\p

A volume label can contain as many as 11 characters and can include spaces
but no tabs. Consecutive spaces may be interpreted as a single space.

Do not use any of the following characters in a volume label:

    * ? / \\ | . , ; : + =   [ ] ( ) & ^ < > "

MS-DOS displays volume labels in uppercase letters. If you enter a volume
label in lower-case letters, the LABEL command converts the letters to
uppercase.

\bUsing LABEL with a redirected drive\p

LABEL does not work on a drive created with the ASSIGN, JOIN, or SUBST
command.

                                      
.context LABEL--Example
.context @LABEL--Example
:nLABEL--Example
:z3
\i\p\aSyntax\v@LABEL\v\i\p  \i\p\aNotes\v@LABEL--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bLABELÄÄExample\p

To label a disk in drive A that contains sales information for 1991, you
might type the following:

    label a:sales1991

                                      
.context LASTDRIVE
.context @LASTDRIVE
:nLASTDRIVE
:z3
\i\p\aNotes\v@LASTDRIVE--Note\v\i\p  \i\p\aExample\v@LASTDRIVE--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bLASTDRIVE\p

Specifies the maximum number of drives you can access.

The value you specify represents the last valid drive MS-DOS is to
recognize.

\bSyntax\p

    LASTDRIVE=x

\bParameter\p

x
    Specifies a drive letter in the range A through Z. The minimum value for
    this parameter is the letter that corresponds to the number of drives
    installed on your system. For example, one drive = A, two drives = B,
    and so on.

                                      
.context LASTDRIVE--Note
.context @LASTDRIVE--Note
:nLASTDRIVE--Notes
:z3
\i\p\aExample\v@LASTDRIVE--Example\v\i\p  \i\p\aSyntax\v@LASTDRIVE\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bLASTDRIVEÄÄNotes\p

\bDefault setting\p

The last drive, by default, is the one after the last drive being used on
your computer.

\bEffect on memory\p

MS-DOS allocates a data structure in memory for each drive specified by
LASTDRIVE, so you should not specify more drives than are necessary.

                                      
.context LASTDRIVE--Example
.context @LASTDRIVE--Example
:nLASTDRIVE--Example
:z3
\i\p\aSyntax\v@LASTDRIVE\v\i\p  \i\p\aNotes\v@LASTDRIVE--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bLASTDRIVEÄÄExample\p

The following command sets the last drive to M, giving your computer access
to 13 logical drives:

    lastdrive=m

                                      
.context loadfix
.context @loadfix
:nLOADFIX
:z3
\i\p\aNote\v@loadfix--note\v\i\p  \i\p\aExample\v@loadfix--example\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bLOADFIX\p

Loads and runs a program above the first 64K of memory.

\bSyntax\p

    LOADFIX [drive:][path]filename [program-parameters]

\bParameters\p

[drive:][path]
    Specifies the drive and directory of the program.

filename
    Specifies the name of the program.

program-parameters
    Specifies any of the program's parameters that you want to use.

                                      
.context loadfix--note
.context @loadfix--note
:nLOADFIX--Note
:z3
\i\p\aExample\v@loadfix--example\v\i\p  \i\p\aSyntax\v@loadfix\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bLOADFIXÄÄNote\p

Some programs will display the "Packed file corrupt" message when all or a
portion of the program has been loaded in the first 64K of conventional
memory and cannot run successfully. This error is most likely to occur when
you load device drivers into the upper memory area, thereby freeing more of
the first 64K of conventional memory.

When MS-DOS displays this message, use the LOADFIX command to ensure that a
program is loaded above the first 64K of conventional memory.

                                      
.context loadfix--example
.context @loadfix--example
:nLOADFIX--Example
:z3
\i\p\aSyntax\v@loadfix\v\i\p  \i\p\aNote\v@loadfix--note\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bLOADFIXÄÄExample\p

To use the LOADFIX command, include it at the beginning of the command that
starts the program. For example, to load a program named MYAPP.EXE (in the
APPS directory of drive C) and use the /C parameter (for example, to load
the program in character mode), type the following at the command prompt or
include the command in your AUTOEXEC.BAT file:

    loadfix c:\\apps\\myapp.exe /c

                                      
.context @LOADHIGH (LH)
.context loadhigh
.context lh
.context LOADHIGH (LH)
:nLOADHIGH (LH)
:z3
\i\p\aNotes\v@LOADHIGH (LH)--Note\v\i\p  \i\p\aExamples\v@LOADHIGH (LH)--Example\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bLOADHIGH (LH)\p

Loads a program into the upper memory area. Loading a program into the upper
memory area leaves more room in conventional memory for other programs. (For
more information about optimizing memory, see the chapter "Making More
Memory Available" in the MS-DOS User's Guide.)

\bSyntax\p

    LOADHIGH [drive:][path] filename [parameters]

To specify the region(s) of memory into which to load the program, use the
following syntax:

    LOADHIGH [/L:region1[,minsize1][;region2[,minsize2]...] [/S]]
             [drive:][path] filename [parameters]

You can abbreviate LOADHIGH as LH.

\bSwitches\p

/L:region1[,minsize1][;region2[,minsize2]...]
    Specifies one or more regions of memory into which to load the program.
    If /L is not used, MS-DOS loads the program into the largest free
    upper-memory block (UMB), and makes all other UMBs available for the
    program's use. You can use the /L switch to load the program into a
    specific region of memory or to specify which region(s) the program can
    use.

    To load the program into the largest block in a specific region of upper
    memory, specify the region number after the /L switch. For example, to
    load the program into the largest free block in region 4, you would type
    /L:4. (To list the free areas of memory, type MEM /F at the command
    prompt.)

    When loaded with the /L switch, a program can use only the specified
    memory region. Some programs use more than one area of memory; for those
    programs, you can specify more than one region. (To find out how a
    particular program uses memory, issue the MEM /M command and specify the
    program name as an argument.) To specify two or more regions, separate
    the block numbers with a semicolon (;). For example, to use blocks 2 and
    3, you would type /L:2;3.

    Normally, MS-DOS loads the program into a UMB in the specified region
    only if that region contains a UMB larger than the program's load size
    (usually equal to the size of the executable program file). If the
    program requires more memory while running than it does when loaded, you
    can use the minsize parameter to ensure that the program will not be
    loaded into a UMB that is too small for it. If you specify a value for
    minsize, MS-DOS loads the program into that region only if it contains a
    UMB that is larger than both the program's load size and the minsize
    value.

/S
    Shrinks the UMB to its minimum size while the program is loading. Using
    this switch makes the most efficient use of memory. This switch is
    normally used only by the Memmaker program, which can analyze a
    program's memory use to determine whether the /S switch can be safely
    used when loading that program. This switch can be used only in
    conjunction with the /L switch, and affects only UMBs for which a
    minimum size was specified.

\bParameters\p

[drive:][path] filename
    Specifies the location and name of the program you want to load.

parameters
    Specifies any command-line information required by the program.

\bRelated Commands\p

For information about loading device drivers into upper memory, see the
\i<\p\aDEVICEHIGH\v@Devicehigh\v\i>\p command.

For information about using the MemMaker program to move programs to the
upper memory area, see the \i<\p\aMEMMAKER\v@MEMMAKER\v\i>\p command.

                                      
.context LOADHIGH (LH)--Note
.context @LOADHIGH (LH)--Note
:nLOADHIGH (LH)--Notes
:z3
\i\p\aSyntax\v@LOADHIGH (LH)\v\i\p  \i\p\aExamples\v@LOADHIGH (LH)--Example\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bLOADHIGH (LH)ÄÄNotes\p

\bDOS=UMB command required\p

To use the LOADHIGH command, you must include the DOS=UMB command in your
CONFIG.SYS file. For more information about the DOS=UMB command, see the
\i<\p\aDOS\v@Dos\v\i>\p command.

\bUsing MemMaker to optimize upper memory area automatically\p

The MemMaker program, included with MS-DOS 6, automatically optimizes your
system's memory. MemMaker surveys the upper memory area, analyzes the memory
use of your drivers and programs, and determines which drivers and programs
fit best into the available UMBs. MemMaker then adds the LOADHIGH command to
selected lines in your AUTOEXEC.BAT file, and adds /L and /S switches as
necessary. For more information about using MemMaker to optimize your
computer's memory, see the chapter "Making More Memory Available" in the
MS-DOS User's Guide.

\bUpper-memory-area manager must be installed\p

Before you can load a program into the upper memory area, you must install
an upper-memory-area manager. MS-DOS provides EMM386.EXE, which manages the
upper memory area for computers with an 80386 or higher processor. To
install EMM386, you add a DEVICE command to your CONFIG.SYS file. (The
DEVICE command for the HIMEM.SYS extended-memory manager must precede the
DEVICE command for EMM386.)

\bHow LOADHIGH works\p

When you use the LOADHIGH command to load a program, MS-DOS attempts to load
it into the upper memory area. If there is insufficient space in the upper
memory area, MS-DOS loads the program into conventional memory. To determine
which UMB(s) the program is using, use the MEM /M command and specify the
program name as an argument.

\bUsing LOADHIGH in your AUTOEXEC.BAT file\p

The most convenient way to use the LOADHIGH command is to include it in your
AUTOEXEC.BAT file. (If you use the MemMaker program, it automatically adds
any necessary LOADHIGH commands to the AUTOEXEC.BAT file.)

                                      
.context LOADHIGH (LH)--Example
.context @LOADHIGH (LH)--Example
:nLOADHIGH (LH)--Examples
:z3
\i\p\aSyntax\v@LOADHIGH (LH)\v\i\p  \i\p\aNotes\v@LOADHIGH (LH)--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                          \bLOADHIGH (LH)ÄÄExamples\p

The following command loads the DOSKEY program into the upper memory area
and specifies that MS-DOS should load the driver into region 1:

    loadhigh /l:1 c:\\dos\\doskey

The following command loads the MYPROG.EXE program into region 1, and also
gives it access to upper memory regions 3 and 4:

    lh /L:1;3;4 c:\\programs\\myprog.exe

The following command loads the MYPROG program into conventional memory
(region 0) and also gives it access to upper memory region 1:

    loadhigh /l:0;1 c:\\programs\\myprog.exe

                                      
.context MAIL
.context @MAIL
:nMAIL
:z3
\i\p\aNotes\v@MAIL--Notes\v\i\p  \i\p\aExamples\v@MAIL--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bMAIL\p

Starts Microsoft Mail, an electronic mail program.

\bSyntax\p

    MAIL [mailboxname] [-lines] [-C] [-Ddrive] [-H] [-M] [-Nseconds] [-P]
    [-Sdisplay] [-V] [-Wcolor] [-X]

\bParameter\p

mailboxname
    Specifies your mailbox name. If you leave it out, Mail will prompt you
    for it.

\bSwitches\p

-lines
    Specifies the number of lines you want to display on your screen, from a
    minimum of 25 to a maximum of 50. The default value is 25. You must
    precede the number with a hyphen.

-C
    Displays the screen in color. Use this option if you have a color
    monitor, but Mail is displayed in monochrome.

-Ddrive
    Specifies the drive you want to use to connect to your workgroup post
    office. For example, if you want to use drive F to connect to your
    workgroup post office, start Mail by typing MAIL -DF at the MS-DOS
    command prompt. By default, Mail uses drive M.

-H
    Displays the list of command line options that you can use with the
    \bmail\p command.

-M
    Specifies that Micro is loaded and that Micro, not Mail, will notify you
    when new messages are received.

-Nseconds
    Specifies the polling period, in seconds, between checks for new mail.
    Valid values are 1 through 199. The default is 30. A setting of 0
    disables mail checking. This option is effective only when the -X option
    is configure to enable polling rather than instant notification.

-P
    Bypasses the password prompt when you start the Mail program.

-Sdisplay
    Sets the type of graphic display. Specify -SCGA for CGA, -SEGA for EGA,
    -SHERC for Hercules graphics, -SVGA for VGA, and -SMONO for monochrome.

-V
    Reduces snow on your screen if you have a CGA monitor.

-Wcolor
    Sets the border color. Valid values for color are 1 through 15
    correspond to the following colors:

    Number   Color
    ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    1        Blue
    2        Green
    3        Cyan
    4        Red
    5        Magenta
    6        Brown
    7        White
    8        Gray
    9        Bright blue
    10       Bright green
    11       Bright cyan
    12       Bright red
    13       Bright magenta
    14       Yellow
    15       Bright white

-X
    Specifies that Mail should use polling to check for new messages,
    instead of instant notification.

\bRelated Command\p

For information about receiving notification of new mail messages, see the
\i<\p\aMICRO\v@MICRO\v\i>\p command.

                                      
.context MAIL--Notes
.context @MAIL--Notes
:nMAIL--Notes
:z3
\i\p\aSyntax\v@MAIL\v\i\p  \i\p\aExamples\v@MAIL--Examples\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bMAILÄÄNotes\p

\bFirst Time You Use the Mail Command\p

The first time you type MAIL at the MS-DOS command prompt, the Setup program
for Mail is started. The Setup program sets up Mail on your computer. The
next time you type MAIL, Microsoft Mail starts.

\bMust Run Network Software to Use Mail\p

To use Microsoft Mail, your computer must be connected to a network and be
using network software. MS-DOS 6 includes Workgroup Connection, which is
network software that supports Mail.

                                      
.context MAIL--Examples
.context @MAIL--Examples
:nMAIL--Notes
:z3
\i\p\aSyntax\v@MAIL\v\i\p  \i\p\aNotes\v@MAIL--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bMAILÄÄExamples\p

To start Microsoft Mail, type the following at the MS-DOS command prompt:

MAIL

If your workgroup post office is on drive J, start Mail by typing the
following command:

MAIL -DJ

If your mailbox name is JSCHMOE and you want to bypass the prompt for your
mailbox name, type the following command to start Mail:

MAIL JSCHMOE

If your mailbox name is BRUNOF, your Mail password is SPLEEN, and you want
to bypass the prompts for your mailbox name and password, type the following
command to start Mail:

MAIL BRUNOF -PSPLEEN

                                      
.context MEM
.context @MEM
:nMEM
:z3
\i\p\aNotes\v@MEM--Note\v\i\p  \i\p\aExamples\v@MEM--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bMEM\p

Displays the amount of used and free memory in your system.

You can use the MEM command to display information about allocated memory
areas, free memory areas, and programs that are currently loaded into
memory.

\bSyntax\p

    MEM [/CLASSIFY|/DEBUG|/FREE|/MODULE modulename] [/PAGE]

To display the status of your system's used and free memory, use the
following syntax:

    MEM

\bSwitches\p

/CLASSIFY
    Lists the programs that are currently loaded into memory, and shows how
    much conventional and upper memory each program is using. MEM /CLASSIFY
    also summarizes overall memory use and lists the largest free memory
    blocks. You can use the /CLASSIFY switch with /PAGE, but not with other
    MEM switches. You can abbreviate /CLASSIFY as /C.

/DEBUG
    Lists the programs and internal drivers that are currently loaded into
    memory. MEM /DEBUG shows each module's size, segment address, and module
    type, summarizes overall memory use, and displays other information
    useful for programming. You can use the /DEBUG switch with /PAGE, but
    not with other MEM switches. You can abbreviate /DEBUG as /D.

/FREE
    Lists the free areas of conventional and upper memory. MEM /FREE shows
    the segment address and size of each free area of conventional memory,
    and shows the largest free upper memory block in each region of upper
    memory. MEM /FREE also summarizes overall memory use. You can use the
    /FREE switch with /PAGE, but not with other MEM switches. You can
    abbreviate /FREE as /F.

/MODULE programname
    Shows how a program module is currently using memory. You must specify
    the program name after the /MODULE switch. MEM /MODULE lists the areas
    of memory the specified program module has allocated, and shows the
    address and size of each area. You can use the /MODULE switch with
    /PAGE, but not with other MEM switches. You can abbreviate /MODULE as
    /M.

/PAGE
    Pauses after each screen of output. This switch can be used with any of
    the other MEM switches.

\bRelated Command\p

For information about checking the amount of space available on a disk, see
the \i<\p\aCHKDSK\v@Chkdsk\v\i>\p command.

                                      
.context MEM--Note
.context @MEM--Note
:nMEM--Notes
:z3
\i\p\aExamples\v@MEM--Examples\v\i\p  \i\p\aSyntax\v@MEM\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bMEMÄÄNotes\p

\bSpecifing the /PAGE Switch Automatically\p

You can use the DOSKEY program to automatically add the /PAGE switch to the
MEM command. Then, each time you use MEM, it will pause after each screenful
of information even if you don't type the /P switch on the MEM command line.
To do this, add the following commands to your AUTOEXEC.BAT file:

    c:\\dos\\doskey doskey mem=mem.exe $* /p

\bDisplaying memory status\p

MS-DOS displays the status of extended memory only if you have installed
memory above the 1-megabyte (MB) boundary in your system. MS-DOS displays
the status of expanded memory only if you use expanded memory that conforms
to version 4.0 of the Lotus/Intel/Microsoft Expanded Memory Specification
(LIM EMS). MS-DOS displays the status of the upper memory area only if a UMB
provider such as EMM386 is installed and the command DOS=UMB is included in
the CONFIG.SYS file. MS-DOS does not display the status of the upper memory
area if you issue the MEM command while you are running Windows version
3.0.

\bAllocating extended memory\p

To allocate Interrupt 15h memory and XMS memory at the same time, use the
/INT15 switch when you load the HIMEM.SYS device driver.

For more information, see \i<\p\aHIMEM.SYS\v@HIMEM.SYS\v\i>\p.

                                      
.context MEM--Examples
.context @MEM--Examples
:nMEM--Examples
:z3
\i\p\aSyntax\v@MEM\v\i\p  \i\p\aNotes\v@MEM--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bMEMÄÄExamples\p

\bGetting General Program and Memory Information\p

Suppose your system has both expanded memory and extended memory. To display
a summary of your system's total memoryÄÄconventional, expanded, extended,
and upperÄÄand to display a list of programs currently loaded into memory,
type the following command:

    mem /classify

The results might look similar to the following:

Modules using memory below 1 MB:

  Name         Total         =   Conventional   +   Upper Memory
  ÄÄÄÄÄÄÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
  MSDOS        15984   (16K)      15984   (16K)          0    (0K)
  COMMAND       8052    (8K)       8052    (8K)          0    (0K)
  EMM386        4256    (4K)       4256    (4K)          0    (0K)
  HIMEM         1072    (1K)       1072    (1K)          0    (0K)
  SMARTDRV     28304   (28K)      28304   (28K)          0    (0K)
  win386       35152   (34K)      29088   (28K)       6096    (6K)
  SHARE         6192    (6K)       6192    (6K)          0    (0K)
  WIN           1600    (2K)       1600    (2K)          0    (0K)
  XNSBIOS      14064   (13K)          0    (0K)      14064   (14K)
  ANSI          4192    (4K)          0    (0K)       4192    (4K)
  DOSKEY        4128    (4K)          0    (0K)       4128    (4K)
  MINSES        1760    (2K)          0    (0K)       1760    (2K)
  MOUSE        17280   (17K)          0    (0K)      17280   (17K)
  NETWKSTA     79664   (78K)          0    (0K)      79664   (78K)
  Free        560480  (547K)     560480  (547K)          0    (0K)

Memory Summary:

  Type of Memory        Total       =       Used       +       Free
  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
  Conventional        655360  (640K)      94880   (93K)     560480  (547K)
  Upper               127296  (124K)     127296  (124K)          0    (0K)
  Extended (XMS)     7733248 (7552K)    6684672 (6528K)    1048576 (1024K)
  Expanded (EMS)     1048576 (1024K)          0    (0K)    1048576 (1024K)
  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
  Total memory       9564480 (9340K)    6906848 (6745K)    2657632 (2595K)

  Total under 1 MB    782656  (764K)     222176  (217K)     560480  (547K)

  Largest executable program size        560480  (547K)
  Largest free upper memory block             0    (0K)
  MS-DOS is resident in the high memory area.

"Largest executable program size" is the largest contiguous block of
conventional memory available for a program. "Largest free upper memory
block" is the largest area of upper memory available for a program. "MS-DOS
is resident in the high memory area" indicates that MS-DOS is running in the
first 64K of extended memory, rather than in conventional memory.

\bGetting Information About a Specific Program\p

To find out what memory a specific program module has allocated, use the MEM
/MODULE command. For example, to find out what memory the WIN386 module has
allocated, you would type the following command:

    mem /module win386

If you were running WIN386, the results might look similar to the
following:

WIN386 is using the following memory:

   Segment  Region        Size        Type
   ÄÄÄÄÄÄ-  ÄÄÄÄÄÄ  ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  ÄÄÄÄÄÄÄÄÄÄ
    005D2                 64    (0K)  Data
    00D02                160    (0K)  Data
    00EF7                240    (0K)  Environment
    00F07              28592   (27K)  Program
    0D7C0       1        976    (1K)  Data
    0EEBF       2       5120    (5K)  Data
                    ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
   Total size: 35152   (33K)

Some program modules, such as WIN386, allocate more than one area of memory.
The MEM /MODULE command displays all the areas of memory allocated by the
specified program, and shows the segment address and size of each
allocation. For upper memory blocks, MEM /MODULE also shows the region
number. The Type column shows how the program is using that particular area
of memory. The "total size," in this case 35152 bytes (33K), shows the total
amount of memory allocated by MS-DOS for the specified program.

                                      
.context MEMMAKER
.context @MEMMAKER
:nMEMMAKER
:z3
\i\p\aExamples\v@MEMMAKER--Examples\v\i\p                                                                  
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bMEMMAKER\p

Starts the MemMaker program, which optimizes your system's memory by moving
device drivers and memory-resident programs to upper memory. To use
MemMaker, your computer must have an 80386 or 80486 microprocessor and
extended memory. For more information about running MemMaker, see the
chapter "Making More Memory Available" in the MS-DOS User's Guide.

\bSyntax\p

    MEMMAKER [/BATCH] [/SWAP:drive] [/UNDO] [/W:n,m]

\bSwitches\p

/BATCH
    Runs MemMaker in batch (unattended) mode. In batch mode, MemMaker takes
    the default action on all prompts. If an error occurs, MemMaker restores
    your previous CONFIG.SYS, AUTOEXEC.BAT and (if necessary) Windows
    SYSTEM.INI files. After MemMaker completes, you can review status
    messages by viewing the contents of the MEMMAKER.STS file. (To view this
    file, use a text editor such as MS-DOS Editor, or use the TYPE
    command.)

/SWAP:drive
    Specifies the letter of the drive that was originally your startup disk
    drive. This switch is necessary only if the drive letter of your startup
    disk drive has changed since your computer started; specify the current
    drive letter after the colon. (The drive letter sometimes changes
    because of disk swapping performed by disk-compression software such as
    Stac 2.0.) If the drive letter of your startup drive has changed and you
    do not specify this switch, MemMaker will be unable to find your system
    startup files.

    You do not need this switch if you are using the Microsoft DoubleSpace
    disk-compression program or the Stacker 2.0 disk-compression program.

/UNDO
    Instructs MemMaker to undo its most recent changes. When MemMaker
    optimizes your system's memory, it makes changes to your CONFIG.SYS and
    AUTOEXEC.BAT files (and, if necessary, your Windows SYSTEM.INI file). If
    your system doesn't work properly after MemMaker completes, or if you
    are not satisfied with your new memory configuration, you can return to
    your previous configuration by starting MemMaker with the /UNDO switch.

/W:size1,size2
    Specifies how much upper-memory space to reserve for Windows translation
    buffers. Windows needs two areas of upper memory for its translation
    buffers. The size1 value specifies the size of the first region; size2
    specifies the size of the second region. By default, MemMaker sets aside
    two 12K regions of upper memory for translation buffers; this is
    equivalent to specifying /W:12,12. If you do not use Windows, you can
    specify /W:0,0 to prevent MemMaker from reserving upper memory for
    Windows.

\bRelated Topics\p

For information about loading device drivers into upper memory, see the
\i<\p\aDEVICEHIGH\v@Devicehigh\v\i>\p command.

For information about loading programs into upper memory, see the
\i<\p\aLOADHIGH (LH)\v@LOADHIGH (LH)\v\i>\p command.

                                      
.context MEMMAKER--Examples
.context @MEMMAKER--Examples
:nMEMMAKER--Examples
:z3
\i\p\aSyntax\v@MEMMAKER\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bMEMMAKERÄÄExamples\p

To run MemMaker in batch mode and to direct it not to reserve any upper
memory for Windows translation buffers, use the following command:

    memmaker /batch /w:0,0

To have MemMaker restore your previous system configuration, use the
following command:

    memmaker /undo

Suppose you use a disk-compression program. Your startup disk is drive C,
but after the compression driver starts, drive C becomes your main
compressed drive. Your startup files are now on drive D. Because of this
drive-letter swapping, you would start MemMaker by using the following
command:

    memmaker /swap:d

This command specifies that the current drive D was originally the startup
drive and contains your CONFIG.SYS and AUTOEXEC.BAT files.

                                      
.context MENUCOLOR
.context @MENUCOLOR
:nMENUCOLOR
:z3
\i\p\aExample\v@MENUCOLOR--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bMENUCOLOR\p

Sets the text and background colors for the startup menu. Can be used only
within a menu block in the CONFIG.SYS file.

The startup menu is a list of choices that appears when you start your
computer. You define a startup menu by using special CONFIG.SYS commands.
Each item on the menu corresponds to a set of CONFIG.SYS commands called a
"configuration block." A startup menu makes it possible to start your
computer with a variety of configurations. For more information about
defining multiple configurations, see the chapter "Configuring Your System"
in the MS-DOS User's Guide.

\bSyntax\p

    MENUCOLOR=x[,y]

\bParameters\p

x
    Specifies the color of the menu text. You can specify a value from 0 to
    15; For a list of values and colors, see "Color Values" later in this
    topic.

y
    Specifies the color of the screen background. You can specify a value
    from 0 to 15; For a list of values and colors, see "Color Values" later
    in this topic. The y value is optional; if you do not specify a value,
    MS-DOS displays the specified text color on a black background.

Be sure to specify different values for x and y, or the text will not be
readable.

\bColor Values\p

Valid color values are from 0 to 15, as follows:

    0  Black             8  Gray
    1  Blue              9  Bright blue
    2  Green            10  Bright green
    3  Cyan             11  Bright cyan
    4  Red              12  Bright red
    5  Magenta          13  Bright magenta
    6  Brown            14  Yellow
    7  White            15  Bright white

\bRelated Commands\p

The MENUCOLOR command is one of six special CONFIG.SYS commands for defining
startup menus and multiple configurations. The other commands are:

  The \i<\p\aINCLUDE\v@INCLUDE\v\i>\p command, which includes the contents of one configuration
   block in another. This command cannot be included in a menu block.

  The \i<\p\aMENUITEM\v@MENUITEM\v\i>\p command, which defines an item on the menu.

  The \i<\p\aMENUDEFAULT\v@MENUDEFAULT\v\i>\p command, which specifies the default menu item.

  The \i<\p\aNUMLOCK\v@NUMLOCK\v\i>\p command, which specifies the state of the NUM LOCK key when
   the startup menu appears. (Although NUMLOCK can be used anywhere in the
   CONFIG.SYS file, it is especially useful when defining a startup menu.)

  The \i<\p\aSUBMENU\v@SUBMENU\v\i>\p command, which defines a submenu.

                                      
.context MENUCOLOR--Example
.context @MENUCOLOR--Example
:nMENUCOLOR--Example
:z3
\i\p\aSyntax\v@MENUCOLOR\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bMENUCOLORÄÄExample\p

The following MENUCOLOR command sets the menu text to bright white and the
screen background to blue:

    menucolor 15, 1

                                      
.context MENUDEFAULT
.context @MENUDEFAULT
:nMENUDEFAULT
:z3
\i\p\aExample\v@MENUDEFAULT--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bMENUDEFAULT\p

Specifies the default menu item on the startup menu, and, optionally, sets a
timeout value. Can be used only within a menu block in the CONFIG.SYS file.
If you do not use this command, MS-DOS sets the default to item 1.

The startup menu is a list of choices that appears when you start your
computer. You define a startup menu by using special CONFIG.SYS commands.
Each item on the menu corresponds to a set of CONFIG.SYS commands called a
"configuration block." A startup menu makes it possible to start your
computer with a variety of configurations. For more information about
defining multiple configurations, see the chapter "Configuring Your System"
in the MS-DOS User's Guide.

\bSyntax\p

    MENUDEFAULT=blockname[,timeout]

\bParameters\p

blockname
    Specifies the default menu item by its associated configuration block.
    The block must be defined elsewhere in the CONFIG.SYS file. When MS-DOS
    displays the startup menu, the default menu item is highlighted and its
    number appears after the "Enter a choice" prompt.

timeout
    Determines how many seconds MS-DOS waits before starting the computer
    with the default configuration. If you don't specify a timeout value,
    MS-DOS does not continue until the ENTER key is pressed. You can specify
    a timeout value from 0 to 90 seconds. A timeout of 0 forces automatic
    selection of the default, effectively bypassing the menu display.

\bRelated Commands\p

The MENUDEFAULT command is one of six special CONFIG.SYS commands for
defining startup menus and multiple configurations. The other commands are:

  The \i<\p\aMENUITEM\v@MENUITEM\v\i>\p command, which defines an item on the menu.

  The \i<\p\aMENUCOLOR\v@MENUCOLOR\v\i>\p command, which defines the color of the menu's text and
   screen background.

  The \i<\p\aSUBMENU\v@SUBMENU\v\i>\p command, which defines a submenu.

  The \i<\p\aNUMLOCK\v@NUMLOCK\v\i>\p command, which specifies the state of the NUM LOCK key when
   the startup menu appears. (Although NUMLOCK can be used anywhere in the
   CONFIG.SYS file, it is especially useful when defining a startup menu.)

  The \i<\p\aINCLUDE\v@INCLUDE\v\i>\p command, which includes the contents of one configuration
   block in another. This command cannot be included in a menu block.

                                      
.context MENUDEFAULT--Example
.context @MENUDEFAULT--Example
:nMENUDEFAULT--Example
:z3
\i\p\aSyntax\v@MENUDEFAULT\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bMENUDEFAULTÄÄExample\p

The following menu block defines three menu items, sets the default item to
"full_config," and sets the timeout to 30 seconds:

    [menu]
    menuitem=base_config,Base configuration only
    menuitem=full_config,Normal configuration
    menuitem=network,Normal configuration with network
    menudefault=full_config,30

When MS-DOS starts and reads this menu block, it displays the following
menu:

    MS-DOS 6 Startup Menu
    =====================

       1. Base configuration only
       2. Normal configuration
       3. Normal configuration with network

    Enter a choice: 2                       Time remaining: 30

After displaying this menu, MS-DOS waits 30 seconds; if no other item is
selected, MS-DOS then starts the computer using the commands in the
[full_config] configuration block.

                                      
.context MENUITEM
.context @MENUITEM
:nMENUITEM
:z3
\i\p\aNotes\v@MENUITEM--Note\v\i\p  \i\p\aExample\v@MENUITEM--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bMENUITEM\p

Defines an item on the startup menu. Can be used only within a menu block in
the CONFIG.SYS file. You can have up to 9 menu items per menu.

The startup menu is a list of choices that appears when you start your
computer. You define a startup menu by using special CONFIG.SYS commands.
Each item on the menu corresponds to a set of CONFIG.SYS commands called a
"configuration block." A startup menu makes it possible to start your
computer with a variety of configurations. For more information about
defining multiple configurations, see the chapter "Configuring Your System"
in the MS-DOS User's Guide.

\bSyntax\p

    MENUITEM=blockname[,menu_text]

\bParameters\p

blockname
    Specifies the name of the associated configuration block. The block must
    be defined elsewhere in the CONFIG.SYS file. If the menu item is
    selected from the startup menu, MS-DOS carries out the commands in the
    associated configuration block, as well as any commands at the beginning
    of the CONFIG.SYS file and any commands in configuration blocks with the
    [common] header.

    If MS-DOS cannot find a block with the specified name, the item does not
    appear on the startup menu. The block name can be up to 70 characters
    long and can contain most printable characters. It cannot include
    spaces, backslashes (\\) and forward slashes (/), commas, semicolons (;),
    equal signs (=), and square brackets ([ and ]).

menu_text
    Specifies the text you want MS-DOS to display for this menu item. If you
    don't specify any menu text, MS-DOS displays the block name as the menu
    item. The menu text can be up to 70 characters long and can contain any
    characters you want.

\bRelated Commands\p

The MENUITEM command is one of six special CONFIG.SYS commands for defining
startup menus and multiple configurations. The other menu-definition
commands are:

  The \i<\p\aMENUDEFAULT\v@MENUDEFAULT\v\i>\p command, which specifies the default menu item.

  The \i<\p\aMENUCOLOR\v@MENUCOLOR\v\i>\p command, which defines the color of the menu's text and
   screen background.

  The \i<\p\aSUBMENU\v@SUBMENU\v\i>\p command, which defines a submenu.

  The \i<\p\aNUMLOCK\v@NUMLOCK\v\i>\p command, which specifies the state of the NUM LOCK key when
   the startup menu appears. (Although NUMLOCK can be used anywhere in the
   CONFIG.SYS file, it is especially useful when defining a startup menu.)

  The \i<\p\aINCLUDE\v@INCLUDE\v\i>\p command, which includes the contents of one configuration
   block in another. This command cannot be included in a menu block.

                                      
.context MENUITEM--Note
.context @MENUITEM--Note
:nMENUITEM--Notes
:z3
\i\p\aSyntax\v@MENUITEM\v\i\p  \i\p\aExample\v@MENUITEM--Example\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bMENUITEMÄÄNotes\p

\bDefining menu blocks\p

A menu block is a set of menu-definition commands that begins with a block
header ÄÄ the name of the block enclosed in square brackets. To have a
startup menu, your CONFIG.SYS file must contain a menu block that has the
[menu] block header.

You can use the \i<\p\aSUBMENU\v@SUBMENU\v\i>\p command to define submenus. Each submenu has its
own menu block, which can be named anything you want.

A menu block must contain at least one MENUITEM or SUBMENU command.

\bNumber of items on the startup menu\p

MS-DOS displays the menu items in the order they appear in the menu block
and numbers them automatically. The first menu item is always number 1 on
the menu; there can be up to 9 items. If you need to define more than 9 menu
items, use the SUBMENU command.

                                      
.context MENUITEM--Example
.context @MENUITEM--Example
:nMENUITEM--Examples
:z3
\i\p\aSyntax\v@MENUITEM\v\i\p  \i\p\aNotes\v@MENUITEM--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bMENUITEMÄÄExamples\p

The following [menu] block defines a startup menu with two items, Apples and
Oranges:

    [menu]
    menuitem Apples
    menuitem Oranges

When MS-DOS starts, the menu will appear as follows:

    MS-DOS 6 Startup Menu
    =====================

       1. Apples
       2. Oranges

    Enter a choice: 1

The following [MENU] block defines a startup menu with three items and
specifies menu text for each item:

    [menu]
    menuitem base_config,Base configuration only
    menuitem full_config,Normal configuration
    menuitem net_config,Normal configuration with network

In this example, the first item corresponds to the [base_config]
configuration block, the second to the [full_config] block, and the third to
the [net_config] block. When MS-DOS starts, it displays the following menu:

    MS-DOS 6 Startup Menu
    =====================

       1. Base configuration only
       2. Normal configuration
       3. Normal configuration with network

    Enter a choice: 1

                                      
.context MICRO
.context @MICRO
:nMICRO
:z3
\i\p\aExamples\v@MICRO--Examples\v\i\p                                                                  
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                   \bMICRO\p

A memory-resident program that notifies you when new mail messages arrive.
You must set up Microsoft Mail on your computer before you can use Micro.

\bSyntax\p

MICRO mailboxname [-C] [-Ddrive] [-Fminutes] [-Nminutes] [-Ppassword] [-U]
[-Xseconds]

\bParameter\p

mailboxname
    Specifies your mailbox name. This is the name you use to identify
    yourself when you use Mail.

\bSwitches\p

-C
    Displays the screen in color.

-Ddrive
    Specifies the drive that is connected to your workgroup post office. By
    default, Micro uses drive M. Use this option only if you connect to your
    workgroup using a drive other than drive M.

-Fminutes
    Specifies that when new mail arrives, a Mail notifier appears in the
    upper-right corner of your screen. This option is useful if you do not
    want to interrupt an application to check for mail. The minutes
    parameter specifies how many minutes the Mail notifier is to remain on
    the screen.

-Nminutes
    Causes a message to appear on your screen, indicating that new mail has
    arrived. This message halts your current application. You must press ESC
    to continue using the application. Use the minutes parameter to specify
    how many minutes the notification message should remain on the screen
    before it is removed and your application can continue.

-Ppassword
    Specifies that you want Micro to display information about the sender
    and subject of new mail. For the password parameter, type your Mail
    password.

-U
    Unloads the Micro program from your computer's memory.

-Xseconds
    Specifies that Mail should use polling to check for new messages,
    instead of instant notification. The seconds parameter specifies how
    often, in seconds, polling for new mail will be done. The default value
    is 30 seconds. The maximum value is 3600 seconds (one hour).

\bRelated Command\p

For information about starting Microsoft Mail, see the \i<\p\aMAIL\v@MAIL\v\i>\p command.

                                      
.context MICRO--Examples
.context @MICRO--Examples
:nMICRO--Examples
:z3
\i\p\aSyntax\v@MICRO\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bMICROÄÄExamples\p

If your mailbox name is SALLYJ, load Micro into your computer's memory by
typing the following at the MS-DOS command prompt:

MICRO SALLYJ

If your mailbox name is SALLYJ and you use drive F to connect to your
workgroup post office, type the following command to load Micro:

MICRO SALLYJ -DF

If you mailbox name is DOROTHYL, your Mail password is GRANDMA, and you want
Micro to display the name of the sender and the subject of new mail
messages, type the following command to load Micro:

MICRO DOROTHYL -PGRANDMA

                                      
.context @MKDIR (MD)
.context mkdir
.context md
.context MKDIR (MD)
:nMKDIR (MD)
:z3
\i\p\aExamples\v@MKDIR (MD)--Examples\v\i\p                                                                  
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bMKDIR (MD)\p

Creates a directory.

You can use the MKDIR command to create a multilevel directory structure.

\bSyntax\p

    MKDIR [drive:]path

    MD [drive:]path

\bParameters\p

drive:
    Specifies the drive on which you want to create the new directory.

path
    Specifies the name and location of the new directory. The maximum length
    of any single path from the root directory to the final directory is 63
    characters, including backslashes (\\).

\bRelated Commands\p

For information about deleting a directory, see the \i<\p\aRMDIR\v@RMDIR (RD)\v\i>\p command. For
information about changing directories, see the \i<\p\aCHDIR\v@CHDIR (CD)\v\i>\p command.

                                      
.context MKDIR (MD)--Examples
.context @MKDIR (MD)--Examples
:nMKDIR (MD)--Examples
:z3
\i\p\aSyntax\v@MKDIR (MD)\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bMKDIR (MD)ÄÄExamples\p

Suppose you want to create a directory on the disk in the current drive and
use the directory to store all your tax information. To create a directory
named TAXES, type the following command:

    mkdir \\taxes

Now suppose that the TAXES directory is the current directory and that you
want to create a subdirectory of TAXES named PROPERTY. To create the
PROPERTY directory, type the following command:

    mkdir property

                                      
.context MODE
.context @MODE
:nMODE
:z3
                                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bMODE\p

Configures system devices. The MODE command performs many different tasks,
such as displaying system status, changing system settings, or reconfiguring
ports or devices.

\bUsing the MODE command\p

Because the MODE command can perform many different tasks, the syntax
necessary to carry out each task is different. The following is a list of
tasks for which you can use the MODE command.

  Reconfiguring a printer attached to a parallel port (PRN, LPT1, LPT2, or
   LPT3) for printing at 80 or 132 characters per line, 6 or 8 lines per
   inch, or both (if the printer supports these features). See
   \i<\p\aMODE (configure printer)\v@MODE (Configure Printer)\v\i>\p for more information.

  Configuring the baud rate, parity, and number of data bits and stop bits
   of a serial communications port (COM1, COM2, COM3, and COM4) for use with
   a specific printer, modem, or other serial device. See
   \i<\p\aMODE (configure serial port)\v@MODE (Configure Serial Port)\v\i>\p for more information.

  Displaying the status of all devices or of a single device. See
   \i<\p\aMODE (display device status)\v@MODE (Display Device Status)\v\i>\p for more information.

  Redirecting printer output from a parallel port to a serial port so that
   the serial port becomes the system's default printer port. See
   \i<\p\aMODE (redirect printing)\v@MODE (Redirect Printing)\v\i>\p for more information.

  Preparing devices for code-page switching. See
   \i<\p\aMODE (set device code pages)\v@MODE (Set Device Code Pages)\v\i>\p.

  Selecting another display adapter or changing the configuration of the
   current display adapter. See \i<\p\aMODE (set display mode)\v@MODE (Set Display MODE)\v\i>\p.

  Setting the keyboard's typematic rate. See \i<\p\aMODE (set typematic rate)\v@MODE (Set Typematic Rate)\v\i>\p.

\bRequirement for ANSI.SYS and DISPLAY.SYS\p

MODE can perform some tasks, such as setting the display mode, only if you
have included a device command for the ANSI.SYS device driver in your
CONFIG.SYS file. You must install DISPLAY.SYS to use MODE (set device code
pages) for code-page switching.

\bAdding mode commands to AUTOEXEC.BAT\p

Although you can type each form of the MODE command at the command prompt,
you can also use MODE commands within your AUTOEXEC.BAT file to reconfigure
your system automatically each time you turn on or restart your computer.

                                      
.context MODE (Configure Printer)
.context @MODE (Configure Printer)
:nMODE (Configure Printer)
:z3
\i\p\aNotes\v@MODE (Configure Printer)--Note\v\i\p  \i\p\aExamples\v@MODE (Configure Printer)--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                          \bMODE (Configure Printer)\p

Configures a printer connected to a parallel printer port.

This version of the MODE command sets the characteristics for an
IBM-compatible or Epson-compatible printer connected to a parallel printer
port (PRN, LPT1, LPT2, or LPT3).

\bSyntax\p

    MODE LPTn[:] [c][,[l][,r]]

    MODE LPTn[:] [COLS=c] [LINES=l] [RETRY=r]

\bParameters\p

LPTn
    Specifies the parallel port to which the device is attached. Valid
    values for n are in the range 1 through 3.

    If you omit any of the following three parameters, MODE uses the most
    recent setting for the omitted parameter. If you are using the shorter
    form of the syntax (without the words COLS=, LINES=, and RETRY=),
    the MODE command "recognizes" the parameters by their positions. Thus,
    if you do not specify a value for a parameter, you must still type the
    comma that precedes the next parameter.

COLS=c
    Specifies the number of characters (columns) per line: 80 or 132. The
    default value is 80. You can abbreviate this parameter by simply
    omitting COLS= and specifying a value for c.

LINES=l
    Specifies the vertical spacing and the number of lines per inch: 6 or
    8. The default value is 6. You can abbreviate this parameter by simply
    omitting LINES= and specifying a value for l.

RETRY=r
    Specifies the retry action to take if a time-out error occurs when
    MODE attempts to send output to a parallel printer. This parameter
    causes part of MODE to remain resident in memory. The following list
    shows each valid value for r and a brief description of its meaning:
    E    Return an error from a status check of a busy port.

    P    Continue retrying until printer accepts output.

    R    Return "ready" from a status check of a busy port.

    N    Take no retry action (default value). You can also specify NONE
         for this value.

If you are using the MODE command over a network, do not use any of the r
values.

You can abbreviate this parameter by simply omitting RETRY= and specifying a
value for r.

                                      
.context MODE (Configure Printer)--Note
.context @MODE (Configure Printer)--Note
:nMODE (Configure Printer)--Notes
:z3
\i\p\aExamples\v@MODE (Configure Printer)--Examples\v\i\p  \i\p\aSyntax\v@MODE (Configure Printer)\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                      \bMODE (Configure Printer)ÄÄNotes\p

\bUpdate to MODE parameter\p

The RETRY=R setting provides the same support as the P parameter did in
MS-DOS 3x.

\bBreaking out of a time-out loop\p

To break out of a time-out loop, press CTRL+BREAK.

\bSetting parallel-printer modes\p

For parallel-printer modes, you can use PRN and LPT1 interchangeably.

                                      
.context MODE (Configure Printer)--Examples
.context @MODE (Configure Printer)--Examples
:nMODE (Configure Printer)--Examples
:z3
\i\p\aSyntax\v@MODE (Configure Printer)\v\i\p  \i\p\aNotes\v@MODE (Configure Printer)--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                     \bMODE (Configure Printer)ÄÄExamples\p

Suppose you want to be able to print 80 characters per line and 8 lines per
inch on a parallel printer that is connected to the second parallel printer
port (LPT2). To do this, type the following command:

    mode lpt2:80,8

Because 80 characters per line is the default setting, however, you could
achieve the same result typing the following command:

    mode lpt2:,8

Suppose that, when printing a file, you want your system to keep trying to
print the file until it is successful. To do this, type the following
command:

    mode lpt2:,8,b

To stop your system from continually retrying to print, press CTRL+BREAK or
type the MODE command without specifying a value for r.

                                      
.context MODE (Configure Serial Port)
.context @MODE (Configure Serial Port)
:nMODE (Configure Serial Port)
:z3
\i\p\aNote\v@MODE (Configure Serial Port)--Note\v\i\p                                                                      
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                        \bMODE (Configure Serial Port)\p

Configures a serial communications port.

This version of the MODE command sets the parameters for a serial port
(COM1, COM2, COM3, or COM4).

\bSyntax\p

    MODE COMm[:] [b[,p[,d[,s[,r]]]]]

    MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s][RETRY=r]

\bParameters\p

COMm
    Specifies the number of the asynchronous-communications (COM) port.
    Valid values for m are in the range 1 through 4.

    If you omit any of the following five parameters, MODE uses the most
    recent setting for the omitted parameter. If you are using the shorter
    form of the syntax (without the words BAUD=, PARITY=, DATA=, and so on),
    the MODE command "recognizes" the parameters by their positions. Thus,
    if you do not specify a value for a parameter, you must still type the
    comma that precedes the next parameter.

BAUD=b
    Specifies the first two digits of the transmission rate in bits per
    second. The following list shows each valid value for b and its related
    rate:

    11    110 baud

    15    150 baud

    30    300 baud

    60    600 baud

    12    1200 baud

    24    2400 baud

    48    4800 baud

    96    9600 baud

    19    19,200 baud

    The b value of 19 is not supported on all computers (check your hardware
    manual). You can abbreviate this parameter by simply omitting BAUD= and
    specifying a value for b.

PARITY=p
    Specifies how the system uses the parity bit to check for transmission
    errors. The p value can be one of the following: N (none), E (even), O
    (odd), M (mark), or S (space). The default value is E. Not all computers
    support the values M and S. You can abbreviate this parameter by simply
    omitting PARITY= and specifying a value for p.

DATA=d
    Specifies the number of data bits in a character. Valid values for d are
    in the range 5 through 8. The default value is 7. Not all computers
    support the values 5 and 6. You can abbreviate this parameter by simply
    omitting DATA= and specifying a value for d.

STOP=s
    Specifies the number of stop bits that define the end of a character: 1,
    1.5, or 2. If the baud rate is 110, the default value is 2; otherwise,
    the default value is 1. Not all computers support the value 1.5. You can
    abbreviate this parameter by simply omitting STOP= and specifying a
    value for s.

RETRY=r
    Specifies the retry action to take if a time-out error occurs when MODE
    attempts to send output to a parallel printer. This parameter causes
    part of MODE to remain resident in memory. The following list shows each
    valid value for r and a brief description of its meaning:

    E    Return an error from a status check of a busy port.

    B    Return "busy" from a status check of a busy port.

    P    Continue retrying until printer accepts output.

    R    Return "ready" from a status check of a busy port.

    N   Take no retry action (default value). You can also specify none for
    this value. If you are using the MODE command over a network, do not use
    any of the rvalues. You can abbreviate this parameter by simply omitting
    RETRY= and specifying a value for r.

                                      
.context MODE (Configure Serial Port)--Note
.context @MODE (Configure Serial Port)--Note
:nMODE (Configure Serial Port)--Note
:z3
\i\p\aSyntax\v@MODE (Configure Serial Port)\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                     \bMODE (Configure Serial Port)ÄÄNote\p

The RETRY=b setting provides the same support as the P parameter did in
previous versions of MS-DOS.

                                      
.context MODE (Display Device Status)
.context @MODE (Display Device Status)
:nMODE (Display Device Status)
:z3
\i\p\aExample\v@MODE (Display Device Status)--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                        \bMODE (Display Device Status)\p

Displays the status of one or all of the devices installed on your system.

\bSyntax\p

    MODE [device] [/STATUS]

To display the status of all devices installed on your system, use the
following syntax:

    MODE

\bParameter\p

device
    Specifies the name of the device for which you want to display the
    status.

\bSwitch\p

/STATUS
    Requests the status of any redirected parallel printers. The MODE
    command, when used without this switch, displays the status of all
    installed devices except redirected parallel printers. You can
    abbreviate the /STATUS switch as /STA.

                                      
.context MODE (Display Device Status)--Example
.context @MODE (Display Device Status)--Example
:nMODE (Display Device Status)--Example
:z3
\i\p\aSyntax\v@MODE (Display Device Status)\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                   \bMODE (Display Device Status)ÄÄExample\p

To display the status of the console, type the following command:

    mode con

                                      
.context MODE (Redirect Printing)
.context @MODE (Redirect Printing)
:nMODE (Redirect Printing)
:z3
\i\p\aExamples\v@MODE (Redirect Printing)--Examples\v\i\p                                                                  
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                          \bMODE (Redirect Printing)\p

Redirects output from a parallel port to a serial communications port.

\bSyntax\p

    MODE LPTn[:]=COMm[:]

\bParameters\p

LPTn
    Specifies the parallel port. Valid values for n are in the range 1
    through 3.

COMm
    Specifies the serial port. Valid values for m are in the range 1
    through 4.

                                      
.context MODE (Redirect Printing)--Examples
.context @MODE (Redirect Printing)--Examples
:nMODE (Redirect Printing)--Examples
:z3
\i\p\aSyntax\v@MODE (Redirect Printing)\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                     \bMODE (Redirect Printing)ÄÄExamples\p

Suppose you want to set up your system so that it sends parallel-printer
output to a serial printer. To do this, you must use the MODE command twice.
The first time, you use MODE to configure the serial port; the second time,
you use MODE to redirect parallel-printer output to the serial port you
specified in the first MODE command.

For example, if your serial printer operates at 4800 baud with even parity
and is connected to the COM1 port (the first serial connection on your
computer), you would type the following two commands:

    mode com1 48,e,,,b

    mode lpt1=com1

If you redirect parallel-printer output from LPT1 to COM1 but then decide
that you want to print a file by using LPT1, use the following command
before you print the file. This command prevents MS-DOS from redirecting the
file from LPT1 to COM1.

    mode lpt1

                                      
.context MODE (Set Device Code Pages)
.context @MODE (Set Device Code Pages)
:nMODE (Set Device Code Pages)
:z3
\i\p\aNote\v@MODE (Set Device Code Pages)--Note\v\i\p                                                                      
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                        \bMODE (Set Device Code Pages)\p

Prepares, selects, refreshes, or displays the numbers of the code pages for
parallel printers or the console.

\bSyntax\p

    MODE device CODEPAGE PREPARE=((yyy [...]) [drive:][path] filename)

    MODE device CODEPAGE SELECT=yyy

    MODE device CODEPAGE REFRESH

    MODE device CODEPAGE [/STATUS]

\bParameters\p

device
    Specifies the device for which you want to prepare or select a code
    page. Valid names for device are CON, LPT1, LPT2, and LPT3.

CODEPAGE PREPARE
    Prepares code pages for the specified device. You must prepare a code
    page for a device before you can use the code page with that device.
    After you use the CODEPAGE PREPARE form of the MODE command, use
    the CODEPAGE SELECT form of MODE to specify the code page you want
    to use. You can abbreviate CODEPAGE and PREPARE as CP and PREP,
    respectively.

yyy
    Specifies the number of the code page to prepare or select. The
    following list shows each code page that MS-DOS supports and its
    country or language:

    437    United States

    850    Multilingual (Latin I)

    852    Slavic (Latin II)

    860    Portuguese

    863    Canadian-French

    865    Nordic

[drive:][path] filename
    Specifies the location and name of the code-page-information (.CPI)
    file that MS-DOS uses to prepare a code page for the specified device.

CODEPAGE SELECT
    Specifies (selects) which code page to use with the specified device.
    Before selecting a code page, you must use the CODEPAGE PREPARE form
    of the MODE command to prepare a code page. You can abbreviate
    CODEPAGE and SELECT as CP and SEL, respectively.

CODEPAGE REFRESH
    Reinstates the prepared code pages if they are lost as the result of a
    hardware problem or other error. You can abbreviate CODEPAGE and
    REFRESH as CP and REF, respectively.

CODEPAGE
    Displays the numbers of the code pages, if any, that are prepared or
    selected for the specified device.

\bSwitch\p

/STATUS
    Displays the numbers of the current code pages prepared or selected for
    the specified device. You can abbreviate this switch as /STA. Whether
    or not you specify the /STATUS switch, typing the MODE command with
    a device name and the CODEPAGE parameter displays the numbers of the
    code pages that are prepared or selected for the specified device.

\bRelated Commands\p

For information about other code-page commands, see the \i<\p\aNLSFUNC\v@NLSFUNC\v\i>\p and
\i<\p\aCHCP\v@Chcp\v\i>\p commands.

                                      
.context MODE (Set Device Code Pages)--Note
.context @MODE (Set Device Code Pages)--Note
:nMODE (Set Device Code Pages)--Note
:z3
\i\p\aSyntax\v@MODE (Set Device Code Pages)\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                     \bMODE (Set Device Code Pages)ÄÄNote\p

MS-DOS includes five .CPI files, which correspond to specific devices, as
follows:

EGA.CPI
    Enhanced graphics adapter (EGA) or IBM Personal System/2

4201.CPI
    IBM Proprinters II and III Model 4201
    IBM Proprinters II and III XL Model 4202

4208.CPI
    IBM Proprinter X24E Model 4207
    IBM Proprinter XL24E Model 4208

5202.CPI
    IBM Quietwriter III printer

LCD.CPI
    IBM PC Convertible liquid crystal display

                                      
.context MODE (Set Display MODE)
.context @MODE (Set Display MODE)
:nMODE (Set Display Mode)
:z3
                                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                          \bMODE (Set Display Mode)\p

Selects the active display adapter and its display mode, or reconfigures the
active display adapter.

\bSyntax\p

    MODE [display-adapter][,shift[,T]]

    MODE [display-adapter][,n]

    MODE CON[:] [COLS=c] [LINES=n]

\bParameters\p

display-adapter
    Specifies a setting category. The following list shows the value(s)
    associated with each setting category for display-adapter:

    40 or 80
        Indicates the number of characters per line.

    BW40 or BW80
        Specifies a color graphics adapter (CGA) with color disabled, and
        specifies the number of characters per line.

    CO40 or CO80
        Specifies a color monitor with color enabled, and specifies the
        number of characters per line.

    MONO
        Specifies a monochrome display adapter with a constant width of 80
        characters per line.

    shift
        Specifies whether to shift the CGA screen to the left or to the
        right. Valid values for shift are L (for left) and R (for right).

T
    Enables you to align the screen by using a test pattern. MS-DOS prompts
    you to indicate whether the screen is aligned correctly.

CON[:]
    Refers to the monitor.

COLS=c
    Specifies the number of characters (columns) per line. Valid values are
    40 and 80.

LINES=n
    Specifies the number of lines that can be displayed on the screen. Valid
    values for n are 25, 43, and 50. Not all display adapters support all
    three settings. To set the number of lines, you must have installed the
    ANSI.SYS device driver by using a device command in your CONFIG.SYS
    file.

                                      
.context MODE (Set Typematic Rate)
.context @MODE (Set Typematic Rate)
:nMODE (Set Typematic Rate)
:z3
                                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                         \bMODE (Set Typematic Rate)\p

Sets the keyboard typematic rate, the rate at which MS-DOS repeats a
character when you hold down the key for that character.

The typematic rate has two components, the rate and the delay. Some
keyboards do not recognize this command.

\bSyntax\p

    MODE CON[:] [RATE=r DELAY=d]

\bParameters\p

CON[:]
    Refers to the keyboard.

RATE=d
    Specifies the rate at which a character is repeated on the screen when
    you hold down a key. Valid values are in the range 1 through 32. These
    values are equal to approximately 2 to 30 characters per second,
    respectively. The default value is 20 for IBM AT-compatible keyboards,
    and 21 for IBM PS/2-compatible keyboards. If you set the rate, you must
    also set the delay.

DELAY=d
    Specifies the amount of time that must elapseÄÄafter you press and hold
    down a keyÄÄbefore MS-DOS starts to repeat the character. Valid values
    for d are 1, 2, 3, and 4 (representing 0.25, 0.50, 0.75, and 1 second,
    respectively). The default value is 2. If you set the delay, you must
    also set the rate.
                                      
.context MORE
.context @MORE
:nMORE
:z3
\i\p\aNotes\v@MORE--Note\v\i\p  \i\p\aExamples\v@MORE--Example\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bMORE\p

Displays one screen of output at a time.

The MORE command reads standard input from a pipe or redirected file and
displays one screen of information at a time. This command is commonly used
to view long files.

\bSyntax\p

    MORE < [drive:][path] filename

    command-name | MORE

\bParameters\p

[drive:][path] filename
    Specifies the location and name of a file that supplies data you want to
    display.

command-name
    Specifies the command that supplies data you want to display.

\bRelated Commands\p

For information about displaying the contents of a directory, see the \i<\p\aDIR\v@Dir\v\i>\p
command.

For information about displaying the contents of a file, see the \i<\p\aTYPE\v@TYPE\v\i>\p
command.

                                      
.context MORE--Note
.context @MORE--Note
:nMORE--Note
:z3
\i\p\aExamples\v@MORE--Example\v\i\p  \i\p\aSyntax\v@MORE\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bMOREÄÄNote\p

\bSources of data\p

When using the redirection character (<), you must specify a filename as the
source. When using the pipe (|), you can use such commands as DIR, SORT, and
TYPE. Before using a pipe for redirection, you should set the TEMP
environment variable in your AUTOEXEC.BAT file.

                                      
.context MORE--Example
.context @MORE--Example
:nMORE--Examples
:z3
\i\p\aSyntax\v@MORE\v\i\p  \i\p\aNotes\v@MORE--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bMOREÄÄExamples\p

Suppose you have a long file named CLIENTS.NEW that you want to view on your
screen. Either of the following two commands redirects the file through the
MORE command to begin displaying the contents of the file:

    more < clients.new

    type clients.new | more

The MORE command displays the first screen of information from CLIENTS.NEW
and then prompts you with the following message:

    ÄÄ More ÄÄ

You can then press any key to see the next screen of information.

                                      
.context MSAV
.context @MSAV
:nMSAV
:z3
\i\p\aNotes\v@MSAV--Note\v\i\p  \i\p\aExample\v@MSAV--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bMSAV\p

Reduces the possibility of a computer virus damaging your computer's memory
and disks.

\bSyntax\p

    MSAV [ [drive:] [drive:] [drive:] | [path] ] [/S | /C] [/R] [/A] [/L]
         [/N] [/P] [/F] [/VIDEO]

\bParameters\p

drive:
    Specifies the drive that MSAV scans for viruses.

path
    Specifies the location of the files you want to scan.

\bSwitches\p

/S
    Scans the disk(s) specified by DRIVE: and the files on those disks, but
    does not remove viruses that MSAV finds. By default, MSAV uses this
    switch.

/C
    Scans the disk(s) specified by DRIVE: and the files on those disks, and
    removes viruses that MSAV finds.

/R
    Creates an MSAV.RPT file that lists the number of files MSAV checked for
    viruses, the number of viruses it found, and the number of viruses it
    removed. By default, MSAV does not create a report.

/A
    Scans all drives except drive A and drive B.

/L
    Scans all drives except network drives.

/N
    Turns off the display of information as MSAV scans disks, and displays
    the MSAV.RPT file when scanning is complete.

/P
    Displays MSAV in graphics mode.

/F
    Turns off the display of filenames that have been scanned. Use this
    switch only with the /N or /P switch.

/VIDEO
    Starts MSAV in the mode you specify. The following list describes values
    you can use.

    25
        Sets screen display to 25 lines. This is the default setting.

    28
        Sets screen display to 28 lines. Use this switch with VGA display
        adapters only.

    43
        Sets screen display to 43 lines. Use this switch with EGA and VGA
        display adapters.

    50
        Sets screen display to 50 lines. Use this switch with VGA display
        adapters only.

    60
        Sets screen display to 60 lines. Use this switch with Video 7
        display adapters only.

    IN
        Runs MSAV using a color scheme, even if a color display adapter is
        not detected.

    BW
        Runs MSAV using a black and white color scheme.

    MONO
        Runs MSAV using a monochromatic color scheme.

    LCD
        Runs MSAV using an LCD color scheme.

    FF
        Uses the fastest screen updating on computers with CGA display
        adapters. Using this switch may decrease video quality.

    BF
        Uses the computer's BIOS to display video.

    NF
        Disables the use of alternate fonts.

    BT
        Allows use of a graphics mouse in Windows.

/NGM
    Runs MSAV using the default mouse character instead of the graphics
    character.

/LE
    Exchanges left and right mouse buttons.

/IM
    Disables the mouse.

/PS2
    Resets the mouse if the mouse cursor disappears or locks up.

                                      
.context MSAV--Note
.context @MSAV--Note
:nMSAV--Notes
:z3
\i\p\aExample\v@MSAV--Example\v\i\p  \i\p\aSyntax\v@MSAV\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bMSAVÄÄNotes\p

\bNote\p

Notes to be supplied

                                      
.context MSAV--Example
.context @MSAV--Example
:nMSAV--Example
:z3
\i\p\aSyntax\v@MSAV\v\i\p  \i\p\aNotes\v@MSAV--Note\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bMSAVÄÄExample\p

To start MSAV using a black and white color scheme, and to specify that MSAV
check all drives except drives A and B, type the following command:

    msav /bw /a

                                      
.context msd
.context @msd
:nMSD
:z3
\i\p\aNotes\v@msd--notes\v\i\p  \i\p\aExamples\v@msd--examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bMSD\p

Obtains detailed technical information about your computer.

\bSyntax\p

To use MSD to create a report, use the following syntax:

    MSD [/I][/F[drive:][path]filename][/P[drive:][path]filename]
    [/S[drive:][path][filename]]

To run the MSD program and examine technical information through its
interface, use the following syntax:

    MSD [/B][/I]

\bSwitches\p

/B
    Runs MSD in black and white instead of color. Use the /B switch when you
    have a monitor that does not correctly display MSD in color.

/I
    Specifies that MSD not initially detect hardware. Use the /I switch if
    you are having problems starting MSD or if MSD is not running properly.

/F[drive:][path]filename
    Prompts you for name, company, address, country, phone number, and
    comments, then writes a complete MSD report to a file. The following
    explains the /F parameters:
        
        [drive]     Specifies the drive to which you want to write the
                    report.
        [path]      Specifies the directory to which you want to write the
                    report.
        filename    Specifies the filename you want to give the report.
        
/P[drive:][path]filename
    Writes a complete MSD report to a file, without prompting you for
    information. The following explains the /P parameters:
        
        [drive]     Specifies the drive to which you want to write the
                    report.
        [path]      Specifies the directory to which you want to write the
                    report.
        filename    Specifies the filename you want to give the report.
        
/S[drive:][path][filename]
    Writes a summary MSD report to a file, without prompting you for
    information. The following explains the /S parameters:
        
        [drive]       Specifies the drive to which you want to write the
                      report.
        [path]        Specifies the directory to which you want to write the
                      report.
        [filename]    Specifies the filename you want to give the report.
        
    If you do not specify any of the parameters, MSD writes the report to
    the screen.

                                      
.context msd--notes
.context @msd--notes
:nMSD--Notes
:z3
\i\p\aExamples\v@msd--examples\v\i\p  \i\p\aSyntax\v@msd\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bMSDÄÄNotes\p

\bInformation provided by MSD\p

Whether you examine the information through MSD's interface or through a
report, the MSD program can provide detailed technical information about
your computer's:

  Model and processor

  Memory

  Video type

  Version of DOS

  Mouse

  Other adapters

  Disk drives

  LPT ports

  COM ports

  IRQ Status

  Terminate-and-stay-resident (TSR) programs

  Device Drivers

\bMSD Button Options\p

The following is a brief description of the buttons that appear on MSD's
main screen:

Computer
    Displays computer manufacturer, processor type, and bus type; ROM BIOS
    manufacturer, version and date; keyboard type; DMA controller
    configuration; and math coprocessor status.

Memory
    Displays a map of the upper memory area (UMA) ÄÄ the memory region from
    640K to 1024K.

Video
    Shows your video card manufacturer, model and type; video BIOS version
    and date; and current video mode.

Network
    Displays network-specific configuration information.

Operating System
    Displays the operating system version, location of MS-DOS in memory, the
    drive the computer was started from, the current environment settings,
    and the path from which MSD was run.

Mouse
    Shows the MS-DOS mouse driver version, mouse type, mouse interrupt
    request line (IRQ) number, and other information specific to the
    configuration of the mouse.

Other Adapters
    Dynamically displays the game card status for up to two game devices or
    joysticks.

Disk Drives
    Displays the size and number of bytes free on local and remote drives.

LPT Ports
    Displays the port addresses of all installed parallel ports, and
    dynamically displays the status of each port.

COM Ports
    Displays the port addresses and current communications parameters of all
    installed serial ports, and dynamically displays the status of each
    port.

IRQ Status
    Displays the configuration of the hardware IRQs.

TSR Programs
    Displays the name, location in memory, and size of each program loaded
    in memory at the time MSD was run.

Device Drivers
    Displays the names of all device drivers installed at the time MSD was
    run.

                                      
.context msd--examples
.context @msd--examples
:nMSD--Examples
:z3
\i\p\aSyntax\v@msd\v\i\p  \i\p\aNotes\v@msd--notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bMSDÄÄExamples\p

\bStarting the MSD program\p

If you wanted to examine some of the technical information about your
computer before calling Microsoft Product Support Services, you would start
the MSD program by typing the following at the command prompt:

    msd

The MSD program has an interface that makes it easy for you to access
detailed technical information about your computer.

\bCreating a report\p

Before calling Microsoft Product Support Services, you could create a file
called COMPUTER.TXT that contains a detailed technical report about your
computer. To do this, you could type the following at the command prompt:

    msd /p computer.txt

The COMPUTER.TXT file would contain the information about your computer.

If you wanted MSD to create a detailed report about your computer and you
wanted the report to include such information as your name, company,
address, and phone number, you would type the following at the command
prompt:

    msd /f computer.txt

The MSD program will prompt you for the information.

                                      
.context NET
.context @NET
:nNET
:z3
\i\p\aNote\v@NET--Note\v\i\p                                                                      
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                    \bNET\p
Carries out Workgroup Connection commands.

\bSyntax\p

    NET     [CONFIG | HELP | LOGOFF | LOGON | PASSWORD | PRINT | START |
    STOP | TIME | USE | VER | VIEW]

To load and display the Workgroup Connection pop-up interface, type NET
without parameters.

\bParameters\p

CONFIG
    Displays information about your workgroup settings. For more
    information, see the \i<\p\aNET CONFIG\v@NET CONFIG\v\i>\p command.

HELP
    Provides information about Workgroup Connection commands and error
    messages. For more information, see the \i<\p\aNET HELP\v@NET HELP or /?\v\i>\p command.

LOGOFF
    Breaks the connection between your computer and the network. For more
    information, see the \i<\p\aNET LOGOFF\v@NET LOGOFF\v\i>\p command.

LOGON
    Establishes a connection between your computer and the network. For more
    information, see the \i<\p\aNET LOGON\v@NET LOGON\v\i>\p command.

PASSWORD
    Changes your logon password. For more information, see the
    \i<\p\aNET PASSWORD\v@NET PASSWORD\v\i>\p command.

PRINT
    Displays information about print queues, and controls print jobs. For
    more information, see the \i<\p\aNET PRINT\v@NET PRINT\v\i>\p command.

START
    Starts Workgroup Connection or loads the pop-up interface. For more
    information, see the \i<\p\aNET START\v@NET START\v\i>\p command.

STOP
    Stops Workgroup Connection or unloads the pop-up interface. For more
    information, see the \i<\p\aNET STOP\v@NET STOP\v\i>\p command.

TIME
    Sychronizes your computer's clock with that of a Microsoft LAN Manager
    time server. For more information, see the \i<\p\aNET TIME\v@NET TIME\v\i>\p command.

USE
    Connects or disconnects from a shared resource, or displays information
    about connections. For more information, see the \i<\p\aNET USE\v@NET USE\v\i>\p command.

VER
    Displays the type and version number of the workgroup redirector you are
    using. For more information, see the \i<\p\aNET VER\v@NET VER\v\i>\p command.

VIEW
    Displays a list of computers that share resources, or a list of shared
    resources on a specific computer. For more information, see the
    \i<\p\aNET VIEW\v@NET VIEW\v\i>\p command.

                                      
.context NET--Note
.context @NET--Note
:nNET--Note
:z3
\i\p\aSyntax\v@NET\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bNETÄÄNote\p

When you quit the pop-up interface, Workgroup Connection automatically
unloads the interface from memory.

If you want to display the pop-up interface while you are using another
program, load it by using the NET START POPUP command. For more information,
see the \i<\p\aNET START\v@NET START\v\i>\p command.

                                      
.context NET CONFIG
.context @NET CONFIG
:nNET CONFIG
:z3
\i\p\aNote\v@NET CONFIG--Note\v\i\p                                                                      
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bNET CONFIG\p

Displays your current workgroup settings.

\bSyntax\p

    NET CONFIG [/YES]

\bParameters\p

/YES
    Carries out the NET CONFIG command without first prompting you to
    provide information or confirm actions.

                                      
.context NET CONFIG--Note
.context @NET CONFIG--Note
:nNET CONFIG--Note
:z3
\i\p\aSyntax\v@NET CONFIG\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bNET CONFIGÄÄNote\p

The NET CONFIG command displays information similar to the following:

    Computer name                \\\\ANNFLMC
    User name                    ANNFLMC

    Software version             3.1
    Workstation root directory   C:\\DOS

    Workgroup                    BRISBANE
    The command completed successfully.

                                      
.context @NET HELP or /?
.context NET HELP
.context /?
.context NET HELP or /?
:nNET HELP or /?
:z3
\i\p\aExamples\v@NET HELP or /?--Examples\v\i\p                                                                  
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bNET HELP or /?\p

Displays information about Workgroup Connection commands and error
messages.

\bSyntax\p

    command /?

    NET HELP [suffix]

    NET HELP errornum

\bParameters\p

command
    Specifies the Workgroup Connection command that you want information
    about.

suffix
    Specifies the second word of the Workgroup Connection you want
    information about. For example the suffix of NET VIEW is VIEW.

errornum
    Displays the number of the error message that you want information
    about.

To see a brief description of all Workgroup Connection commands, type NET
HELP without options.

\bRelated Command\p

For information about getting help on other MS-DOS commands, see the
\i<\p\aDOSHELP\v@DOSHELP\v\i>\p command.

                                      
.context NET HELP or /?--Examples
.context @NET HELP or /?--Examples
:nNET HELP or /?--Examples
:z3
\i\p\aSyntax\v@NET HELP or /?\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                          \bNET HELP or /?ÄÄExamples\p

If you receive error message 59 while using Workgroup Connection, you can
view information about this message by typing the following:

    net help 59

                                      
.context NET LOGOFF
.context @NET LOGOFF
:nNET LOGOFF
:z3
                                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bNET LOGOFF\p

Breaks the connections between your computer and the shared resources to
which it is connected.

\bSyntax\p

    NET LOGOFF [/YES]

\bParameters\p

/YES
    Carries out the NET LOGOFF command without first prompting you to
    provide information or confirm actions.

\bRelated Command\p

For information about disconnecting your network connections, see
\i<\p\aNET LOGON\v@NET LOGON\v\i>\p.

                                      
.context NET LOGON
.context @NET LOGON
:nNET LOGON
:z3
\i\p\aNotes\v@NET LOGON--Notes\v\i\p  \i\p\aExamples\v@NET LOGON--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bNET LOGON\p

Identifies you as a member of a workgroup and reestablishes your persistent
connections.

\bSyntax\p

    NET LOGON [user [{password | ?}]] [/YES]

\bParameters\p

user
    Specifies the name that identifies you in your workgroup. The name you
    specify can have as many as 20 characters.

password
    The unique string of characters that authorizes you to access your
    password list file.

?
    Specifies that you want to be prompted for your password, even if you
    use the /YES option.

/YES
    Carries out the NET LOGON command without first prompting you to provide
    information or confirm actions.

\bRelated Command\p

For information about disconnecting your network connections, see
\i<\p\aNET LOGOFF\v@NET LOGOFF\v\i>\p.

                                      
.context NET LOGON--Notes
.context @NET LOGON--Notes
:nNET LOGON--Notes
:z3
\i\p\aExamples\v@NET LOGON--Examples\v\i\p  \i\p\aSyntax\v@NET LOGON\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bNET LOGONÄÄNotes\p

If you would rather be prompted for your user name and password than specify
them in the NET LOGON command line, type NET LOGON without options.

When you are prompted for a password the first time you log on, you can
specify any password you want. It can be up to 14 characters in length.

Logging on restores the persistent connections that existed when you last
logged off. For more information about persistent connections, see the
\i<\p\aNET USE\v@NET USE\v\i>\p command.

A password list file is a list of the passwords that protect the connections
you made previously. If you forget your logon password, you cannot log on to
your workgroup until you delete your password list (.PWL) file. For more
information about the password list file, see the \i<\p\aNET PASSWORD\v@NET PASSWORD\v\i>\p command.

Only one person per computer can log on to Workgroup Connection at a time.

                                      
.context NET LOGON--Examples
.context @NET LOGON--Examples
:nNET LOGON--Examples
:z3
\i\p\aSyntax\v@NET LOGON\v\i\p  \i\p\aNotes\v@NET LOGON--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bNET LOGONÄÄExamples\p

To log on to your workgroup, type the following at the MS-DOS command
prompt:

    net logon

Workgroup Connection displays the following:

    Type your username, or press ENTER if it is <name>:

In place of name, Workgroup Connection displays your user name.

After you press ENTER, Workgroup Connection displays the following:

    Type your password:

When you type your password, it does not appear on the screen.

If this is the first time you've logged on, the following prompt appears:

    Confirm your password:

You type your password again to confirm that it is correct.

                                      
.context NET PASSWORD
.context @NET PASSWORD
:nNET PASSWORD
:z3
\i\p\aNotes\v@NET PASSWORD--Notes\v\i\p  \i\p\aExamples\v@NET PASSWORD--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                \bNET PASSWORD\p

Changes your password.

\bSyntax\p

    NET PASSWORD [oldpassword [newpassword]]

    NET PASSWORD [\\computer | /DOMAIN:name] [user [oldpassword
    [newpassword]]]

The first syntax line above is for changing the password for your password
list file. The second syntax line above is for changing your password on a
LAN Manager server or domain.

\bParameters\p

oldpassword
    Specifies your current password.

newpassword
    Specifies your new password. It can have as many as 14 characters.

computer
    Specifies the LAN Manager server at which you want to change your
    password.

/DOMAIN
    Specifies that you want to change your password on a LAN Manager domain
    other than your own.

name
    Specifies the LAN Manager domain at which you want to change your
    password.

user
    Specifies your LAN Manager user name.

                                      
.context NET PASSWORD--Notes
.context @NET PASSWORD--Notes
:nNET PASSWORD--Notes
:z3
\i\p\aExamples\v@NET PASSWORD--Examples\v\i\p  \i\p\aSyntax\v@NET PASSWORD\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bNET PASSWORDÄÄNotes\p

\bPassword list file\p

The primary purpose of the NET PASSWORD command is to change your password,
which protects your Workgroup Connection password list file.

Every Workgroup Connection user has a unique file called a password list
file. Your password list file contains a list of the passwords that protect
the connections you made previously. Your logon password protects your
password list file. If you log on to your workgroup and specify your
password, your persistent connections will be restored even if they are
password protected. If you don't correctly specify your password, you can
gain access to shared resources, but you must specify the password for each
persisten connection that is password protected.

The name of your password list file is your user name followed by a .PWL
extension. For example, if your user name is RUDYL, your password list file
is named RUDYL.PWL. THe file is located in the directory where your
Workgroup Connection files are stored.

If you would rather be prompted to specify your old and new passwords
instead of including them in the NET PASSWORD command line, type NET
PASSWORD without options.

To prevent your new password from appearing on your screen, do not include
the newpassword option in the NET PASSWORD command line. If you leave it
off, you will be prompted to provide the new password. When you type it at
the prompt, the new password will not appear on the screen. Workgroup
Connection prompts you for a new password twice to ensure that it is
correct.

If you forget your password, you must delete your password list file. You
can then specify a new password the next time you log on.

\bServer and domain passwords\p

You can also use the \i<\p\aNET PASSWORD\v@NET PASSWORD\v\i>\p command to change your password on a LAN
Manager server or domain.

                                      
.context NET PASSWORD--Examples
.context @NET PASSWORD--Examples
:nNET PASSWORD--Examples
:z3
\i\p\aSyntax\v@NET PASSWORD\v\i\p  \i\p\aNotes\v@NET PASSWORD--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                           \bNET PASSWORDÄÄExamples\p

To change your password from PETUNIA to DAFFODIL, type the following:

    net password

The following prompt appears:

    Type your old password:

Type your current password. After you press ENTER, the following prompt
appears:

    Type your new password:

When you type the new password, it does not appear on your screen. Press
ENTER.

                                      
.context NET PRINT
.context @NET PRINT
:nNET PRINT
:z3
\i\p\aNotes\v@NET PRINT--Notes\v\i\p  \i\p\aExamples\v@NET PRINT--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bNET PRINT\p

Displays information about the print queue on a shared printer, or controls
your print jobs.

When you specify the name of a computer with the NET PRINT command, you
receive information about the print queues on each of the shared printers
that are connected to it.

\bSyntax\p

    NET PRINT {\\\\computer[\\queue] | port} [/YES]

    NET PRINT {\\\\computer | port} [job# [{/PAUSE | /RESUME | /DELETE}]]
    [/YES]

\bParameters\p

computer
    Specifies the name of the computer whose print queue you want
    information about.

queue
    Specifies the name of the printer whose queue you want information
    about.

port
    Specifies the name of the parallel (LPT) port on your computer that
    connects to the printer you want information about.

job#
    Specifies the number assigned to a queued print job. You can specify the
    following options:

    /PAUSE
        Pauses a print job.

    /RESUME
        Reactivates a print job that has been paused.

    /DELETE
        Cancels a print job.

/YES
    Carries out the NET PRINT command without first prompting you to provide
    information or confirm actions.

                                      
.context NET PRINT--Notes
.context @NET PRINT--Notes
:nNET PRINT--Notes
:z3
\i\p\aExamples\v@NET PRINT--Examples\v\i\p  \i\p\aSyntax\v@NET PRINT\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bNET PRINTÄÄNotes\p

The NET PRINT command displays the print queue(s) of the printer(s)
connected to the computer you specify. With this command, you can also
pause, resume, or delete a print job.

Sending a print job to a printer usually requires two steps. First, you
connect your computer to the printer by using the \i<\p\aNET USE\v@NET USE\v\i>\p command. Then,
you can print jobs by using the MS-DOS \i<\p\aPRINT\v@PRINT\v\i>\p command, or by using the
PRINT command of applications such as Microsoft Word or Microsoft Excel.

When you specify a computer with the NET PRINT command, you get information
about the print queue(s) of the printer(s) connected to that computer. You
don't have to establish a connection to a printer to get information about
the printers that are connected to it.

For example, if you want information about the print queues on a computer
named ETHICS, type NET PRINT\\\\ETHICS at the MS-DOS command prompt. Workgroup
Connection displays information similar to the following:

    Printer queues at \\\\ETHICS
    Name                            Job #     Size     Status
    ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    LASER Queue                    3 jobs            * Queue Active *
         EDJ                          301     2509     Printing
         MARTYE                       303      275     Waiting
         PHILLC                       304    44375     Waiting
    PRT Queue                      2 jobs            * Queue Active *
         KENM                         305      180     Printing
         KIRSTENM                     306      512     Waiting

The following list describes the categories of information that appear on
this screen.

Name
    The user name of the people whose print jobs are printing or waiting to
    print.

Job #
    The unique identification number of each job in the queue.

Size
    The size of each print job in bytes.

Status
    The status of a printer or print job.

The person whose computer is physically connected to a printer controls the
status of the printer. The following list describes the status a printer can
have:

Queue Active
    Available to receive print jobs.

Error
    Unavailable because of a malfunction. For example, the computer sharing
    the printer might be off, or a cable might be loose.

Held
    All print jobs are suspended.

Held until
    All print jobs are suspended until the time displayed.

Pending delete
    The printer is being shut down.

The status of a print job can be controlled by the person who sends a print
job to a printer or the person whose computer is physically connected to
that printer. The following list describes the statuses a print job can
have:

Error
    Stopped because of a malfunction. For example, the computer sharing the
    printer might be off, or a cable might be loose.

Offline
    Stopped because the printer is offline.

Out of paper
    Stopped because the printer is out of paper.

Paused
    Paused by a user or by the person whose computer is sharing the
    printer.

Printing
    Printing a print job.

Spooling
    Transferring a print job into the print queue.

Waiting
    Waiting for a printer to become available.

                                      
.context NET PRINT--Examples
.context @NET PRINT--Examples
:nNET PRINT--Examples
:z3
\i\p\aSyntax\v@NET PRINT\v\i\p  \i\p\aNote\v@NET PRINT--Notes\v\i\p                                                            
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                            \bNET PRINTÄÄExamples\p

To see the print queues of the printers connected to a computer named
PRODUCTION, type:

    net print \\\\production

To see the print queue of a printer named PRINT9, which is connected to a
computer named PRODUCTION, type:

    net print \\\\production\\print9

If your computer's LPT1 port is connected to a printer named LASER, which is
connected to a computer named PRODUCTION, display the print queue by
typing:

    net print lpt1:

To cancel print job number 7 which appears in a print queue on the
PRODUCTION computer that is connected to your computer's LPT1 port, type:

    net print \\\\production 7 /delete

or

    net print lpt1: 7 /delete

                                      
.context NET START
.context @NET START
:nNET START
:z3
\i\p\aNotes\v@NET START--Notes\v\i\p  \i\p\aExample\v@NET START--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                 \bNET START\p

Starts Workgroup Connection, or loads the pop-up interface into memory.

\bSyntax\p

    NET START [{POPUP | BASIC | FULL | WORKSTATION | NETBIND | NETBEUI}]
    [/LIST] [/YES]

\bParameters\p

POPUP
    Loads the pop-up interface into memory. Use this option if the pop-up
    interface is not automatically loaded each time you start your
    computer.

BASIC
    Starts the basic redirector.

FULL
    Starts the full redirector.

WORKSTATION
    Starts the default redirector.

NETBIND
    Binds protocols and network card drivers.

NETBEUI
    Starts the NetBIOS interface.

/LIST
    Displays a list of the Workgroup Connection components that have been
    started.

/YES
    Carries out the NET START command without first prompting you to provide
    information or confirm actions.

\bRelated Command\p

For information about stopping Workgroup Connection, see \i<\p\aNET STOP\v@NET STOP\v\i>\p.

                                      
.context NET START--Notes
.context @NET START--Notes
:nNET START--Notes
:z3
\i\p\aExample\v@NET START--Example\v\i\p  \i\p\aSyntax\v@NET START\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bNET STARTÄÄNotes\p

When you type NET START at the MS-DOS command prompt, it examines the
AUTOSTART command line in the [network] section of your SYSTEM.INI file. The
SYSTEM.INI file is in the directory that contains your Workgroup Connection
files. The AUTOSTART command line indicates whether NET START does the
following:

  Starts the basic or full redirector

  Loads the pop-up interface into memory

This information is determined by the Startup option you selected during
Workgroup Connection Setup. You can change what NET START does by running
Setup again and changing the setting for the Startup option.

                                      
.context NET START--Example
.context @NET START--Example
:nNET START--Example
:z3
\i\p\aSyntax\v@NET START\v\i\p  \i\p\aNotes\v@NET START--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bNET STARTÄÄExample\p

If Workgroup Connection does not start automatically when you turn on your
computer, you can start it by typing the following at the MS-DOS command
prompt:

    net start

To load the pop-up interface into memory, type the following at the command
prompt:

    net start popup

                                      
.context NET STOP
.context @NET STOP
:nNET STOP
:z3
\i\p\aNotes\v@NET STOP--Notes\v\i\p  \i\p\aExample\v@NET STOP--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bNET STOP\p

Stops Workgroup Connection, or unloads the pop-up interface from memory.

\bSyntax\p

    NET STOP [POPUP | BASIC | FULL | WORKSTATION | NETBEUI] [/YES]

\bParameters\p

POPUP
    Unloads the pop-up interface from memory, but does not stop Workgroup
    Connection.

BASIC
    Stops the basic redirector.

FULL
    Stops the full redirector.

WORKSTATION
    Stops the default redirector.

NETBEUI
    Stops the NetBIOS interface.

/YES
    Carries out the NET STOP command without first prompting you to provide
    information or confirm actions.

\bRelated Command\p

For information about starting Workgroup Connection, see \i<\p\aNET START\v@NET START\v\i>\p.

                                      
.context NET STOP--Notes
.context @NET STOP--Notes
:nNET STOP--Notes
:z3
\i\p\aExample\v@NET STOP--Example\v\i\p  \i\p\aSyntax\v@NET STOP\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bNET STOPÄÄNotes\p

The NET STOP command breaks all your connections and removes Workgroup
Connection from your computer's memory.

To unload the pop-up interface, type:

    net stop popup

Stopping the Netpop interface removes it from your computer's memory, but
does not affect your network connections.

                                      
.context NET STOP--Example
.context @NET STOP--Example
:nNET STOP--Example
:z3
\i\p\aSyntax\v@NET STOP\v\i\p  \i\p\aNotes\v@NET STOP--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bNET STOPÄÄExample\p

To stop Workgroup Connection, type:

    NET STOP

                                      
.context NET TIME
.context @NET TIME
:nNET TIME
:z3
\i\p\aNotes\v@NET TIME--Notes\v\i\p  \i\p\aExamples\v@NET TIME--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bNET TIME\p

Synchronizes your computer's clock with the shared clock on a Microsoft LAN
Manager time server.

\bSyntax\p

    NET TIME [\\\\computer | /WORKGROUP:wgname] [/SET] [/YES]

\bParameters\p

computer
    Specifies the name of the computer (time server) whose time you want to
    check or synchronize your computer's clock with.

/WORKGROUP
    Specifies that you want to use the clock on a compuer (time server) in
    another workgroup.

wgname
    Specifies the name of the workgroup containing a computer whose clock
    you want to check or synchronize your computer's clock with. If there
    are multiple time servers in that workgroup, NET TIME uses the first one
    it finds.

/SET
    Synchronizes your computer's clock with the clock on the computer or
    workgroup you specify.

/YES
    Carries out the NET TIME command without first prompting you to provide
    information or confirm actions.

                                      
.context NET TIME--Notes
.context @NET TIME--Notes
:nNET TIME--Notes
:z3
\i\p\aExamples\v@NET TIME--Examples\v\i\p  \i\p\aSyntax\v@NET TIME\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bNET TIMEÄÄNotes\p

To use NET TIME, your network must include a time server. Some networks do
not support time servers. If your network does not support time servers, you
will not be able to use the NET TIME command.

You can synchronize your computer's clock with a time server by specifying
the time server's name.

Or you can synchronize your computer's clock with a time server in another
workgroup by specifying the name of that workgroup.

                                      
.context NET TIME--Examples
.context @NET TIME--Examples
:nNET TIME--Examples
:z3
\i\p\aSyntax\v@NET TIME\v\i\p  \i\p\aNotes\v@NET TIME--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bNET TIMEÄÄExamples\p

To synchronize your computer's clock with a time server named ETERNITY, type
the following at the MS-DOS command prompt:

    net time \\\\eternity /set

To check the time on the first time server Workgroup Connection finds in a
workgroup named SYDNEY, type the following:

    net time /workgroup:sydney

                                      
.context NET USE
.context @NET USE
:nNET USE
:z3
\i\p\aNotes\v@NET USE--Notes\v\i\p  \i\p\aExamples\v@NET USE--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bNET USE\p

Connects or disconnects your computer from a shared resource, or displays
information about your connections.

\bSyntax\p

    NET USE [{drive: | *}] [\\\\computer\\directory [{password | ?}]]
    [/PERSISTENT:{YES | NO}] [/SAVEPW:NO] [/YES]

    NET USE [port:] [\\\\computer\\queue [password | ?]] [/PERSISTENT:{YES |
    NO}] [/SAVEPW:NO] [/YES]

    NET USE {drive: | \\\\computer\\directory} /DELETE [/YES]

    NET USE {port: | \\\\computer\\queue} /DELETE [/YES]

    NET USE * /DELETE [/YES]

    NET USE /PERSISTENT:{YES | NO | LIST | SAVE | CLEAR} [/YES]

\bParameters\p

drive
    Specifies the drive letter you assign to a shared directory.

*
    Specifies the next available drive letter. If used with /DELETE,
    specifies to disconnect all of your connections.

port
    Specifies the parallel (LPT) port name you assign to a shared printer.

computer
    Specifies the name of the computer sharing the resource.

directory
    Specifies the name of the shared directory.

queue
    Specifies the name of the shared printer.

password
    Specifies the password for the shared resource, if any.

?
    Specifies that you want to be prompted for the password of the shared
    resource. You don't need to use this option unless the password is
    optional.

/PERSISTENT
    Specifies which connections should be restored the next time you log on
    to Workgroup Connection. It must be followed by one of the values
    below:

    YES
        Specifies that the connection you are making and any subsequent
        connections should be persistent.

    NO
        Specifies that the connection you are making and any subsequent
        connections should not be persistent.

    SAVE
        Specifies that all current connections should be persistent.

    LIST
        Lists your persistent connections.

    CLEAR
        Clears your persistent connections.

/SAVEPW:NO
    Specifies whether the password you enter should not be saved in your
    password-list file. You will need to retype the password the next time
    you connect to the resource.

/YES
    Carries out the NET USE command without first prompting you to provide
    information or confirm actions.

/DELETE
    Breaks the specified connection.

                                      
.context NET USE--Notes
.context @NET USE--Notes
:nNET USE--Notes
:z3
\i\p\aExamples\v@NET USE--Examples\v\i\p  \i\p\aSyntax\v@NET USE\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                               \bNET USEÄÄNotes\p

To list all of your connections, type NET USE without options.

\bUsing a shared directory only once\p

If you need to use a file in a shared directory only once, you can gain
access to the file without assigning a drive letter to the shared directory.
For example, to use Microsoft Word to edit the LIST.DOC file in the shared
directory \\\\SALES\\PACIFIC, type:

    WORD \\\\SALES\\PACIFIC\\LIST.DOC

Word loads the shared file, even though you haven't connected to
\\\\SALES\\PACIFIC. This method does not work if the shared directory requires
a password. If a directory requires a password, you must first establish a
connection to it.

\bViewing your connections\p

When you type NET USE at the MS-DOS command prompt, Workgroup Connection
displays information similar to the following:

    Status          Local name    Remote name
    ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    OK              M:            \\\\FINANCIAL\\CORRUPT
    DISCONNECTED    G:            \\\\PRODUCTION\\CLIVE
    ERROR           LPT1:         \\\\PRINT1\\LASER

The following list describes the possible statuses a connection can have:

OK
    The connection is active.

DISCONNECTED
    The connection has been suspended but will be reestablished when you
    need to use it.

PAUSED
    The connection has been paused by the user of the computer that is
    sharing the printer.

ERROR
    The connection has been broken. You must disconnect the resource before
    you can reestablish the connection.

The local name is the drive letter or port assigned to the resource. The
remote name is the name of the computer and shared directory or printer.

\bPersistent connections\p

Most people use some shared directories and printers more often than others.
Workgroup Connection can automatically restore your frequently used
connections every time you log on to your workgroup. Such connections are
called persistent connections. To make a connection persistent, include the
/PERSISTENT:YES option with the NET USE command that establishes that
connection. Once you specify /PERSISTENT:YES, that connection and any
subsequent connections you make will be persistent. The next time you
specify /PERSISTENT:NO with the NET USE command that establishes a
connection, that connection and subesequent connections will not be
persistent.

When you log on to Workgroup Connection the first time, the default is
/PERSISTENT:YES. After that, the default remains the same as it was when you
last logged off.

To make all of your current connections persistent, use the /PERSISTENT:SAVE
option. To make all of your connections nonpersistent, use the
/PERSISTENT:CLEAR option. To see a list of your persistent connections, use
the /PERSISTENT:LIST option.

                                      
.context NET USE--Examples
.context @NET USE--Examples
:nNET USE--Examples
:z3
\i\p\aSyntax\v@NET USE\v\i\p  \i\p\aNotes\v@NET USE--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bNET USEÄÄExamples\p

To assign drive E to the LETTERS directory on a computer named FINANCE,
type:

    net use e: \\\\finance\\letters

When there is a space in the computer name, quotation marks must surround
the name of the computer and shared directory in the NET USE command line.
For example, to assign drive F to a directory named REPORTS that is on a
computer named JOE COMPUTER, type:

    net use f: "\\\\joe computer\\reports"

To assign the port LPT1 to the LASER2 printer that is connected to a
computer named ACCOUNTING, type:

    net use lpt1: \\\\accounting\\laser2

To disconnect from the LASER2 printer that is connected to LPT1, type:

    net use lpt1: /delete

To make all of your current connections persistent, type:

    net use /persistent:save

To see a list of your persistent connections, type:

    net use /persistent:list

                                      
.context NET VER
.context @NET VER
:nNET VER
:z3
\i\p\aExample\v@NET VER--Example\v\i\p                                                                   
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bNET VER\p

Displays the type and version number of the workgroup redirector you are
using.

\bSyntax\p

    NET VER

                                      
.context NET VER--Example
.context @NET VER--Example
:nNET VER--Example
:z3
\i\p\aSyntax\v@NET VER\v\i\p                                                                    
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bNET VERÄÄExample\p

When you use the NET VER command, Workgroup Connection displays the
following message:

    Microsoft Workgroup Client Basic Redirector Version 3.1
    Copyright Microsoft Corporation 1992. All rights reserved.

                                      
.context NET VIEW
.context @NET VIEW
:nNET VIEW
:z3
\i\p\aNotes\v@NET VIEW--Notes\v\i\p  \i\p\aExamples\v@NET VIEW--Examples\v\i\p                                                         
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bNET VIEW\p

Displays a list of computers in a specified workgroup, or the shared
resources available on a specified computer.

\bSyntax\p

    NET VIEW [\\\\computer] [/YES]

    NET VIEW [/WORKGROUP:wgname] [/YES]

\bParameters\p

computer
    Specifies the name of the computer whose shared resources you want to
    see listed.

/WORKGROUP:
    Specifies that you want to view the names of the computers that share
    resources in another workgroup.

wgname
    Specifies the name of the workgroup whose computer names you want to
    view.

/YES
    Carries out the NET VIEW command without first prompting you to provide
    information or confirm actions.

                                      
.context NET VIEW--Notes
.context @NET VIEW--Notes
:nNET VIEW--Notes
:z3
\i\p\aExamples\v@NET VIEW--Examples\v\i\p  \i\p\aSyntax\v@NET VIEW\v\i\p                                                        
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                              \bNET VIEWÄÄNotes\p

To display a list of the computers in your workgroup that share directories
or printers, type NET VIEW at the MS-DOS command prompt. To prevent a long
display from scrolling past too quickly, type NET VIEW | MORE.

When you type NET VIEW without options, or with the /WORKGROUP option, you
see a list of computers similar to the following:

    Computer            Remark
    ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    \\\\PRODUCTION        Production computer
    \\\\PRINT1            Printer room, first floor
    \\\\SALES             Sales records and lists

When you specify a computer with the NET VIEW command, you see a list of the
resources that computer is sharing. The list looks similar to the
following:

    Shared Resources at \\\\PRINT1
    Printer room, first floor

    Sharename      Type   Used as  Comment
    ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    PRT            Print  LPT2:    Printer pool
    FAST_PRT       Print  LPT1:    High priority printer
    DISK2          Disk   R:       Drive D Root

The following list describes the columns in the preceding display:

Sharename
    The name of the shared directory or printer.

Type
    The type of shared resource. A shared directory is listed as "Disk." A
    shared printer is listed as "Print."

Used as
    The drive or port you assigned to the shared directory or printer, if
    you assigned one.

Comment
    An optional comment that is supplied by the user of the computer that is
    sharing the resource.

                                      
.context NET VIEW--Examples
.context @NET VIEW--Examples
:nNET VIEW--Examples
:z3
\i\p\aSyntax\v@NET VIEW\v\i\p  \i\p\aNotes\v@NET VIEW--Notes\v\i\p                                                           
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                             \bNET VIEWÄÄExamples\p

To see a list of computers sharing resources in your workgroup, type:

    net view

or

    net view | more

To see a list of the shared resources on a computer named PRODUCTION, type:

    net view \\\\production

                                      
.context NLSFUNC
.context @NLSFUNC
:nNlsfunc
:z3
\i\p\aNote\v@NLSFUNC--Note\v\i\p  \i\p\aExamples\v@NLSFUNC--Example\v\i\p                                                          
\i\bÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\p

                                  \bNLSFUNC\p

Starts the Nlsfunc program, which loads country-specific information for
national language support (NLS).

You can use the NLSFUNC command either from the command line or within
CONFIG.SYS to support the use of country-specific information and code-page
switching.

\bSyntax\p

    NLSFUNC [[drive:][path] filename]

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

    INSTALL=[[dos-drive:]dos-path]NLSFUNC.EXE [country-filename]

\bParameters\p

[drive:][path] filename or country-filename
    Specifies the location and name of the file containing country-specific
    information. If you use this parameter in the INSTALL command, you must
    include the drive and directory.

[dos-drive:]dos-path
    Specifies the location of NLSFUNC.EXE.

\bRelated Commands\p

For information about displaying the current code page, see the \i<\p\aCHCP\v@Chcp\v\i>\p
command.

For information about preparing a code page, see the
\i<\p\aMODE (set device code pages)\v@MODE (Set Device Code Pages)\v\i>\p command.

                                      
.context NLSFUNC--Note
.context @NLSFUNC--Note
:nNlsfunc--Note
:z3
\i\p\aExamples\v@NLSFUNC--Example\v\i