AUTOEXEC.BAT

Share on Facebook Share on Twitter Email

(AUTOmatic EXECute BATch) A configuration file that resided in the root directory of a DOS PC. Automatically executed at startup along with the CONFIG.SYS file, it was used to load TSRs, drivers and applications and change certain settings. It was also used with earlier versions of Windows for compatibility and still available in Windows XP, although it was mostly empty. See CONFIG.SYS.

AUTOEXEC.BAT was a text file that could be manually changed by the user or an application. The following is an example of the type of commands found in AUTOEXEC.BAT. It sets the DOS prompt to look like it does today in Windows, sets the Path environment variable and loads the DOSkey utility and LOTUS 1-2-3 spreadsheet. See Path environment variable.

   prompt $p$g
   path c:\data;d:\words;e:\budget
   c:\dos\doskey
   c:\lotus\123

Download Computer Desktop Encyclopedia to your PC, iPhone or Android.

Top

AUTOEXEC.BAT is a system file found originally on DOS-type operating systems. It is a plain-text batch file that is located in the root directory of the boot device. The name of the file is an abbreviation of "automatic execution", which describes its function in automatically executing commands on system startup; the portmanteau was coined in response to the 8.3 filename limitations of the FAT file system family.

Contents

Usage

AUTOEXEC.BAT is read upon startup by all versions of DOS, including MS-DOS version 7.x as used in Windows 95 and Windows 98. Windows Me only parses environment variables as part of its attempts to reduce legacy dependencies,[1] but this can be worked around.[2]

Under DOS, the file is executed once the operating system has booted and after the CONFIG.SYS file has been processed. Windows NT and its descendants Windows XP and Windows Vista parse AUTOEXEC.BAT when a user logs on. As with Windows Me, anything other than setting environment variables is ignored.[3] Unlike CONFIG.SYS, the commands in AUTOEXEC.BAT can be entered at the interactive command line interpreter. They are just standard commands that the computer operator wants to be executed automatically whenever the computer is started, and can include other batch files.

AUTOEXEC.BAT is most often used to set environment variables such as keyboard, soundcard, printer, and temporary file locations. It is also used to initiate low level system utilities, such as the following:

  • Virus scanners
  • Disk caching software - SMARTDRV.EXE from Microsoft the most common
  • Mouse drivers
  • Keyboard drivers
  • CD drivers
  • Miscellaneous other drivers

Example

In early versions of DOS, AUTOEXEC.BAT was by default extremely simple. The date and time commands were necessary as early PC and XT class machines did not have a battery backed-up Real Time Clock as default.

echo off
cls
date
time
ver

In non US environments the keyboard driver (like KEYBFR for the French keyboard) was also included. Later versions were often much expanded with numerous third party device drivers. The following is a basic DOS 5.x type AUTOEXEC.BAT configuration, consisting only of essential commands:

@echo off
prompt $P$G
PATH=C:\DOS;C:\WINDOWS
set TEMP=C:\TEMP
set BLASTER=A220 I7 D1 T2
lh smartdrv.exe
lh doskey
lh mouse.com /Y
win

This configuration sets common environment variables, loads the disk cache SmartDrive on line six, places common directories into the default path, and initializes the DOS mouse / keyboard drivers, before starting Windows. The prompt command sets the command prompt to "C:\>" instead of simply "C>".

In general, .SYS files were called in CONFIG.SYS, and .EXE programs such as the popular disk caching software SmartDrive provided by Microsoft with MS-DOS 5x, were loaded in the AUTOEXEC.BAT file. Some devices, such as mice, could be loaded either as a .SYS file in CONFIG.SYS, or as a .COM in AUTOEXEC.BAT, depending upon the manufacturer.[4]

Lines prefixed with the string "REM" are comments (remarks) and are not run as part of AUTOEXEC.BAT. The "REM" lines are used for comments or to temporarily disable drivers (e.g. for a CD-ROM). An alternative, though less common, method for commenting is using double colons (::).

In MS-DOS 6 and higher, a DOS boot menu is configurable. This can be of great help to users who wish to have optimized boot configurations for various programs, such as DOS games and Windows. (continued from CONFIG.SYS article)

@echo off
prompt $P$G
PATH=C:\DOS;C:\WINDOWS
set TEMP=C:\TEMP
set BLASTER=A220 I7 D1 T2
goto %CONFIG%
:WIN
 lh smartdrv.exe
 lh mouse.com /Y
 win
goto END
:XMS
 lh smartdrv.exe
 lh doskey
 goto END
:END

The goto %CONFIG% line informs DOS to look up menu entries that were defined within CONFIG.SYS. Then, these profiles are named here and configured with the desired specific drivers and utilities. At the desired end of each specific configuration, a goto command redirects DOS to the :END section. Lines after :END will be used by all profiles.

Issues

One of the problems with the versions of Windows that ran on top of DOS was a lack of conventional memory. This was due to the archaic design of the original x86 processor, which was originally only able to address 1024kB, or an effective 640kB of memory. While this was later extended with new processor modes, DOS was not able to load low level AUTOEXEC.BAT type drivers into extended memory.

Users were therefore presented with the baffling situation of potentially having 8192K of physical memory, but were not able to run software that required a mere 512K of memory, because the DOS drivers in the AUTOEXEC.BAT file, especially CD-ROM and disk compression drivers, had taken up too much conventional memory.

Users were left to experiment with LOADHIGH/LH (MS-DOS) or HILOAD (DR-DOS) commands, based upon the EMM386 memory manager loaded in the CONFIG.SYS files, in order to try to move drivers from the 640K region, into the upper memory area or the high memory area. Lack of conventional memory proved to be a particular issue for gamers, and generated numerous baffled calls to support desks. Many gamers were forced to maintain several boot disks, each with game specific PC configurations.

Resolving driver and conventional memory issues has been cited as a key reason for adoption of the Windows based DirectX gaming interface,[5] which could access the entire physical memory of the PC, and relied upon Windows drivers to access hardware. This was also solved by using 32-bit DOS programs and standard VESA drivers for graphics.

Dual-booting DOS and Win 9x

When installing Windows 95 over a preexisting DOS/WINDOWS install, CONFIG.SYS and AUTOEXEC.BAT are renamed to CONFIG.DOS and AUTOEXEC.DOS. This is intended to ease dual booting between Windows 9.x and DOS. When booting into DOS, they are temporarily renamed CONFIG.SYS and AUTOEXEC.BAT. Backups of the Win95 versions are made as .W40 files.

Windows 9x also installs a fake MSDOS.SYS file. This file contains some switches that designate how the system will boot, one of which controls whether or not the system automatically goes into Windows. This "BootGUI" option must be set to "0" in order to boot to a DOS prompt. By doing this, the system's operation essentially becomes that of a DOS/Windows pairing like with earlier Windows versions. Windows can be started as desired by typing "WIN" at the DOS prompt.

When installing Caldera DR-DOS 7.02 and higher, the Windows version retains the name AUTOEXEC.BAT, while the file preferred by the DR-DOS loader is named AUTODOS7.BAT. It also differentiates the CONFIG.SYS file by using the name DCONFIG.SYS.[6]

OS/2 / NT

On Windows NT and its derivatives, Windows 2000, Windows Server 2003 and Windows XP, the equivalent file is called AUTOEXEC.NT and is located in the %SystemRoot%\system32 directory. The file is not used during the operating system boot process; it is executed when the MS-DOS environment is started, which occurs when an MS-DOS application is loaded.

The AUTOEXEC.BAT file may often be found on Windows NT, in the root directory of the boot drive. Windows only considers the "SET" and "PATH" statements which it contains, in order to define environment variables global to all users. Setting environment variables through this file may be interesting if for example MS-DOS is also booted from this drive (this requires that the drive be FAT) or to keep the variables across a reinstall. This is an exotic usage today so this file usually remains empty. The TweakUI applet from the PowerToys collection allows to control this feature (Parse Autoexec.bat at logon).

OS/2 did not use the AUTOEXEC.BAT file, instead using startup.cmd.

See also

References

External links


Translations:

Autoexec.bat

Top

Dansk (Danish)
n. - autoexec.bat; computerfiltype

Français (French)
n. - (Comput) autoexec.bat

Deutsch (German)
n. - (Comp.) autoexec.bat

Ελληνική (Greek)
n. - αυτόματα εκτελούμενο αρχείο ομαδοποιημένων εντολών

Español (Spanish)
n. - (informática) un archivo que el sistema DOS ejecuta automáticamente al encender el ordenador

Svenska (Swedish)
n. - kommandofil (data)

中文(简体)(Chinese (Simplified))
自动执行程序

中文(繁體)(Chinese (Traditional))
n. - 自動執行程式

한국어 (Korean)
n. - 배치 파일 (MS-DOS의 명령을 묶어 기록한 파일)

עברית (Hebrew)
n. - ‮קובץ פקודות SOD המופעלות בעת הפעלת מערכת-ההפעלה של המחשב‬


Post a question - any question - to the WikiAnswers community:

Copyrights:

Mentioned in

DOS AUTOEXEC.BAT (technology)
BAT file (technology)
DOS SIZER.EXE (technology)
NCF file (technology)
DOS startup options (technology)