Autoexec.bat and config.sys information

Updated: 06/22/2018 by Computer Hope

The autoexec.bat and the config.sys were files created for MS-DOS and Windows 3.x as an easy way to load the files required for 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. However, with newer versions of Windows are no longer needed.

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, the mouse will not work.

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.


Windows XP and later no longer use the autoexec.bat or config.sys file.

Remarking information

Remarking lines in the autoexec.bat or the config.sys allows you to temporarily or permanently prevent a line from loading each time you boot the computer. To remark a line, place "REM " in front of each 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 the line in case it needs to be placed back into the autoexec.bat.

Getting additional memory

The following commands help your computer 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.


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 how the autoexec.bat may look.

@echo off
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET PATH=C:\Windows;C:\
Command Explanation
@echo off Tells DOS to read the lines but not echo them back to the screen.
SET SOUND=C:\PROGRA~1\CREATIVE\CTSND 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, which is a good line for computer games or other programs needing sound. If you have this line in your autoexec.bat, you have all settings for your sound card. A220 is a port address of 220, I5 is IRQ 5, and D1 is DMA 1. These settings are the typical settings for most sound cards.
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 A 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 file is in 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. Keep in mind that this is not the driver, it is the name of the driver. If you change this line, it needs to also be changed 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 "" 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.
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 how the config.sys may look.

Command Explanation
DEVICE=C:\Windows\HIMEM.SYS The Himem.sys line is an 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 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."

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 The CD-ROM drivers for the CD-ROM drive. The /D:123 represents the name of the driver, which in this case is named 123, however, can be named anything, usually MSCD0001. However, keep in mind that the /D:123 must be the same in config.sys and autoexec.bat. If they are different, the CD-ROM will not work in MS-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 earlier since later version of Windows ignore this line.
FCBS= A line used to specify the number of file control blocks for file sharing. Should only be used when programs require it, and today, is not used or required. FCBS can utilize between 1 and 255.

Technical support

Additional information