
AUTOEXEC.BAT

codice_1 is a system file that was originally on DOS-type operating systems. It is a plain-text batch file 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 filename was coined in response to the 8.3 filename limitations of the FAT file system family.
Usage.
codice_1 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, but this can be worked around.
The filename was also used by (DCP), an MS-DOS derivative by the former East-German VEB Robotron.
In Korean versions of MS-DOS/PC DOS 4.01 and higher (except for PC DOS 7 and 2000), if the current country code is set to 82 (for Korea) and no codice_3 is given and no default codice_1 is found, codice_5 will look for a file named codice_6 instead in order to ensure that the DBCS frontend drivers will be loaded even without properly set up codice_7 and codice_1 files.
Under DOS, the file is executed by the primary copy of the command-line processor (typically codice_5) once the operating system has booted and the codice_7 file processing has finished. While DOS by itself provides no means to pass batch file parameters to codice_5 for codice_1 processing, the alternative command-line processor 4DOS supports a codice_13 "codice_14" directive and codice_15 startup option to define such parameters. Under Concurrent DOS, Multiuser DOS and REAL/32, three initial parameters will be passed to either the corresponding codice_16 (if it exists) or the generic codice_1 startup file, codice_18 holds the virtual console number, codice_19 the 2-digit terminal number (xx) (with 00 being the main console) and codice_20 the 1-digit session number (y).
Windows NT and its descendants Windows XP and Windows Vista parse codice_1 when a user logs on. As with Windows ME, anything other than setting environment variables is ignored. Unlike codice_7, the commands in codice_1 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.
codice_1 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:
Example.
In early versions of DOS, codice_1 was by default very simple. The codice_26 and codice_27 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 codice_28 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 type codice_1 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
This configuration sets common environment variables, loads a disk cache, places common directories into the default PATH, and initializes the DOS mouse / keyboard drivers. The codice_30 command sets the prompt to "C:\>" (when the working directory is the root of the C drive) instead of simply "C>" (the default prompt, indicating only the working drive and not the directory therein).
In general, device drivers were loaded in codice_7, and programs were loaded in the codice_1 file. Some devices, such as mice, could be loaded either as a device driver in codice_7, or as a TSR in codice_1, depending upon the manufacturer.
In MS-DOS 6.0 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.
@ECHO OFF
PROMPT $P$G
PATH C:\DOS;C:\WINDOWS
SET TEMP=C:\TEMP
SET BLASTER=A220 I7 D1 T2
GOTO %CONFIG%
LH SMARTDRV.EXE
LH MOUSE.COM /Y
WIN
GOTO END
LH SMARTDRV.EXE
LH DOSKEY
GOTO END
The codice_35 line informs DOS to look up menu entries that were defined within codice_7. Then, these profiles are named here and configured with the desired specific drivers and utilities. At the desired end of each specific configuration, a codice_37 command redirects DOS to the codice_38 section. Lines after codice_38 will be used by all profiles.
Dual-booting DOS and Windows 9x.
When installing Windows 95 over a preexisting DOS/Windows install, codice_7 and codice_1 are renamed to codice_42 and codice_43. This is intended to ease dual booting between Windows 9x and DOS. When booting into DOS, they are temporarily renamed codice_7 and codice_1. Backups of the Windows 9x versions are made as codice_46 files.
Windows 9x also installs codice_47, a configuration file, which will not boot Windows 95/98 if parametercodice_48 is loaded, and instead a DOS prompt will appear on the screen (Windows can still be loaded by calling the codice_49 command (file WIN.COM). 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 codice_49 at the DOS prompt.
When installing Caldera DR-DOS 7.02 and higher, the Windows version retains the name codice_1, while the file used by the DR-DOS codice_5 is named codice_53, referred to by the startup parameter codice_54 in the SHELL directive. It also differentiates the codice_7 file by using the name codice_56.
OS/2.
The equivalent to codice_1 under OS/2 is the OS/2 codice_58 file, however, genuine DOS sessions booted under OS/2 continue to use codice_1.
Windows NT.
On Windows NT and its derivatives, Windows 2000, Windows Server 2003 and Windows XP, the equivalent file is called codice_60 and is located in the codice_61 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 a DOS application is loaded.
The codice_1 file may often be found on Windows NT in the root directory of the boot drive. Windows only considers the codice_63 and codice_64 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-formatted) or to keep the variables across a reinstall. This is an exotic usage today so the file usually remains empty. The Tweak UI applet from the Microsoft PowerToys collection allows to control this feature ("Parse AUTOEXEC.BAT at logon").