Autoexec.bat and Config.sys information

The autoexec.bat and the config.sys were files created for MS-DOS and Windows 3.x as an easy solution of loading the files required for various devices as well as the operating system to properly run. These files are required for later revisions of MS-DOS and Windows 3.x to load. Because Microsoft is trying to steer away from MS-DOS, these files are not required for Windows 95, Windows 98, Windows NT, Windows ME, Windows 2000, Windows XP, or later operating systems. However, in some cases it may still be necessary for users to edit or configure these files.

How to edit the files
Remarking information
Getting additional memory
Autoexec.bat layout
Config.sys layout
Information about batch files
Technical support

How to edit the files

The auotexec.bat and the config.sys are edited by the MS-DOS command file Edit. To edit these files, type edit c:\autoexec.bat to edit the autoexec.bat file, or edit c:\config.sys to edit the config.sys file. If the mouse drivers are not loaded properly you will not have the capability of navigating the mouse.

If you have Windows 95, Windows 98, or later versions of Windows it is recommended that you use the sysedit command; to run this program, click Start, Run, and type sysedit.

Remarking information

Remarking lines within the autoexec.bat or the config.sys allows you to temporarily or permanently prevent a line from loading each time you boot the computer. This is done by placing "REM " in front of the line you want to skip.

If you are encountering issues with a line in the autoexec.bat it is highly recommended that you remark the line instead of removing it. This will prevent issues from arising if the line needs to be placed back into the autoexec.bat.

Getting additional memory

The below commands will help allow your computer to load programs into memory more efficiently allowing you to have more memory for MS-DOS programs and games.

Make sure you have the below three lines at the beginning of your config.sys file.

DEVICE=C:\Windows\HIMEM.SYS
DOS=HIGH,UMB
DEVICE=C:\Windows\EMM386.EXE NOEMS

By placing the DOS=HIGH,UMB on the second line, this can, in some cases, save memory because it is loading DOS into upper memory before loading the memory manager. Additionally, the first and third lines cannot be loaded into high memory because these lines are the memory managers.

Load all your devices in your config.sys and autoexec.bat into high memory.

Autoexec.bat layout

Below is an example of what an autoexec may look like.

@echo off
SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET PATH=C:\Windows;C:\
LH C:\Windows\COMMAND\MSCDEX.EXE /D:123

Command Explanation
@echo off Tells DOS to just read the lines but don't echo them back to the screen.
SET SOUND=C:\PROGRA~1\CREATIVE\CTSND This example is for the particular sound card that we have in one of the machines that we have. The set sound is telling the computer to send all sound events that the computer may run to that directory.
SET BLASTER=A220 I5 D1 H5 P330 E620 T6 Tells the computer to set the sound blaster settings. This is a good line for game players; if you have this line in your autoexec.bat you will know all settings players; if you have this line in your autoexec.bat you will know all settings for your sound card. A220 = port address "220", I5 = IRQ 5, D1 = DMA 1 usually being the settings you will need for any game out on the market.
SET PATH=C:\Windows;C:\ Sets the computer to look in the C:\windows directory or the root if a command used at the prompt is not found.
LH C:\Windows\COMMAND\MSCDEX.EXE /D:123 Line used for the CD-ROM. If you have Windows 95+, the MSCDEX will always be in the C:\Windows\COMMAND. In Windows 3.x or DOS, this will usually be either in C:\DOS or C:\Windows directory. The /D:123 is the name of the driver name that loads in upper memory; this can be anything, usually /D:MSCD0001. However, this is not an actual driver, this is just the name for the driver. Ensure if you change this line that you change it in the config.sys on your CD-ROM line. If the two are not the same, your CD-ROM drive will not load.
LH C:\MOUSE\MOUSE.EXE Loads the mouse driver into memory. However, not all mice use the same drivers. Although the mouse may use mouse.exe it could also be "mouse.com" or "mouse.sys", which is loaded in the config.sys.
C:\DOS\SMARTDRV.EXE /X Loads the smartdrive disk cache utility into memory. See the smartdrv command page for additional information about this utility.
DOSKEY DOS command to load DOSKEY into memory so when in DOS you can use it without having to load it.
CLS MS-DOS command to clear screen.
WIN Used for users using Windows 3.x, this line will load Windows automatically when booting the computer.

Config.sys layout

Below is an example of what the config.sys may look like:

DEVICE=C:\Windows\HIMEM.SYS
DOS=HIGH,UMB
DEVICE=C:\Windows\EMM386.EXE NOEMS
FILES=30
STACKS=0,0
BUFFERS=20
DEVICEHIGH=C:\Windows\COMMAND\ANSI.SYS
DEVICEHIGH=C:\MTMCDAI.SYS /D:123

Command Explanation
DEVICE=C:\Windows\HIMEM.SYS The Himem.sys line is a very important line; this line allows you to load drivers into high memory. If this line is not present, Windows 3.x will not load.
DOS=HIGH,UMB This line will load DOS into high memory in an upper memory block. Note the location usually best placed after the HIMEM.SYS.
DEVICE=C:\Windows\EMM386.EXE NOEMS The EMM386 line loads the extended memory manager. However, some older MS-DOS games have problems with extended memory and will not run without the NOEMS statement.
FILES=30 The files line allow Windows to load 30 files at the same time. However, going higher may decrease the computer's performance; 30 is found to work the best. Also, make sure that this line is all as one line and that there is not a space between and after the =.
STACKS=0,0 The stacks line was first used in MS-DOS 3.2 and was used to swap the stack whenever an asynchronous hardware interrupt occurred. Later in MS-DOS 3.3 the line STACKS=0,0 was added into the config.sys. In special circumstances, this line was changed to STACKS=9,128.

The STACKS statement has a range of 8-64, 32-512. If a higher value is entered you will receive a FATAL : Internal Stack Failure, System Halted error message.

BUFFERS=20 Buffers line is to load buffers into memory allowing Windows to load memory.
DEVICEHIGH=C:\Windows\COMMAND\ANSI.SYS   The ansi.sys line is a driver for DOS to allow you to have different colors and sizes and special characters at the DOS prompt.
DEVICEHIGH=C:\MTMCDAI.SYS /D:123 This line is the name of the CD-ROM driver on the particular system we are working on. The /D:123 represents the name of the driver, which in this case is named 123, however, can be named anything, usually MSCD0001. Note, however, that /D:123 must be exactly the same in config.sys and autoexec.bat; if they are different, the CD-ROM will not work in DOS.
LASTDRIVE= Allows you to specify the last drive installed on the computer. It is not recommended this line be used unless you are using Windows 3.11 or below. This line can cause issues with Windows 95 and 98 and will be remarked by Windows automatically.
FCBS= Line used to specify the number of file control blocks for file sharing. This line should only be used when programs require it, and today, is not used or required. FCBS can utilize between 1 and 255.

Technical support

Reference Question
Batch Batch file information and related questions.
CH000007 Getting the mouse to work in MS-DOS
CH000210 As the computer boots I receive bad command or file name.
CH000360 How to get sound in MS-DOS.
CH000361 MS-DOS issues with Windows ME.
CH000382 Stack overflow system halted.
CH000425 Himem.sys missing or corrupt.
Forum If your question is not listed on this page, try our online forum.

Additional information