AUTOEXEC.BAT
Die AUTOEXEC.BAT (ab Windows 95 kann sie dank VFAT auch als autoexec.bat
klein geschrieben werden) ist eine System-Konfigurationsdatei unter MS-DOS-basierten Computersystemen. Der Name der Datei ist ein Kofferwort aus den Begriffen automatic („automatisch“) und execution („Ausführung“, siehe ausführbare Datei), wodurch sich ihre Funktion erklärt: Sie wird als Stapelverarbeitung beim Systemstart aufgerufen, um die in ihr enthaltenen Befehle automatisch auszuführen. Damit handelt es sich technisch um eine Stapelverarbeitungsdatei („Batchdatei“), erkennbar an der Dateiendung .bat
. Die Datei liegt üblicherweise im Stammverzeichnis des Startmediums, beispielsweise der aktiven Partition. Bei MS-DOS und PC DOS wird sie beim Systemstart von COMMAND.COM
aufgerufen.
Nutzung
Die AUTOEXEC.BAT
wird bei MS-DOS sowie bei MS-Windows-Betriebssystemen, die MS-DOS zum Starten verwenden (Windows 3.x, Windows 9x), eingesetzt. Die Datei enthält Einstellungen und Befehle, die das Betriebssystem individuell anpassen (Start von Treibern, Lokalisierung u. Ä.).
Die Datei wird beim Systemstart, sobald COMMAND.COM
in den Speicher geladen ist, von ihr ausgeführt, bei Windowssystemen noch vor dem Start der grafischen Oberfläche. Anders als die CONFIG.SYS
, welche durch MSDOS.SYS
(MS-DOS), IBMDOS.COM
(PC DOS, DR-DOS) bzw. IO.SYS
(Windows 9x) ausgeführt wird, kann die AUTOEXEC.BAT
auch in der Kommandozeile der DOS-Eingabeaufforderung direkt gestartet werden.
Das jeweilige Betriebssystem startet auch, wenn AUTOEXEC.BAT
nicht vorhanden ist.
Anwendungen, die bei Start der Windowsumgebung ausgeführt werden sollen, verwenden andere Mechanismen (beispielsweise Einträge in der Windows-Registrierungsdatenbank (Registry) oder im Autostart-Ordner). Siehe hierzu Windows-Autostart-Möglichkeiten.
Aufbau
Die textbasierte Batchdatei AUTOEXEC.BAT
kann vom Benutzer nach seinen Wünschen geändert werden. Daher gibt es keinen festgelegten Inhalt, sondern nur übliche Einträge. Ein sehr einfaches Beispiel ist:
@ECHO OFF
PROMPT $p$g
Diese Zeilen unterbinden die Ausgabe der Befehle während der Ausführung des Skriptes (@ECHO OFF
) und stellen die DOS-Eingabeaufforderung (engl. Prompt) darauf ein, dass der aktuelle Pfad ($p
) gefolgt von einem >
(Größer-als-Zeichen, $g
) erscheint.
Meist ist die AUTOEXEC.BAT
deutlich weiter ausgebaut, etwa bei dieser Datei aus einem System mit MS-DOS und Windows 3.11:
@ECHO OFF
PROMPT $p$g
PATH C:\DOS;C:\WINDOWS;C:\WINDOWS\SYSTEM;
SET TEMP=C:\TEMP
REM -- Festplattencache:
SMARTDRV.EXE 2038 512
MODE.EXE LPT1:,,P >NUL
SHARE.EXE /F:150 /L:1500
MOUSE.COM /Y
CD \WINDOWS
WIN
Diese Konfiguration lädt den Maustreiber, startet die Dienste Festplattencache (SMARTDRV.EXE
) und Netzwerk-Dateisperrdienst (SHARE.EXE
) und definiert zudem die Liste der Standardverzeichnisse für die Suche nach ausführbaren Dateien. Außerdem legt sie andere diverse Einstellungen fest und startet zuletzt Windows.
Zeilen, die mit der Bezeichnung REM
beginnen, enthalten Anmerkungen und stellen keine Befehle dar. Entsprechend wird der REM
-Befehl immer dann benutzt, wenn Teile kommentiert werden sollen oder wenn einzelne Funktionen temporär ausgeschaltet sind, beispielsweise verschiedene Treiber. Eine weitere Methode zur Kommentierung sind zwei Doppelpunkte (::), diese wird jedoch sehr selten genutzt.
Alternative Dateinamen
Bei entsprechender Konfiguration in der CONFIG.SYS kann die AUTOEXEC.BAT auch einen anderen Dateinamen verwenden und in einem beliebigen Verzeichnis liegen. Alternative DOS-Varianten oder Kommandozeileninterpreter verwenden oft vordefinierte Alternativen, obwohl immer zusätzlich der von PC DOS/MS-DOS vorgegebene Standard AUTOEXEC.BAT
im Stammverzeichnis unterstützt wird. So startet beispielsweise 4DOS zusätzlich 4START.BTM
, wenn die Datei vorhanden ist;[1] PTS-DOS nutzt in der Standard-Installation AUTOPTS.BAT
(und CONFIG.PTS).[2]
Grundsätzlich kann in der CONFIG.SYS die Betriebssystem-Shell derart festgelegt werden, dass beim Aufruf ein beliebiges Kommando ausgeführt wird.
SHELL=C:\COMMAND.COM /P C:\DOSSTART.BAT
Diese Anweisung definiert COMMAND.COM als primäre Shell (entspricht bei DOS dem Kommandozeileninterpreter) und führt die angegebene Datei beim Start aus, in diesem Beispiel die Stapelverarbeitungsdatei C:\DOSSTART.BAT
.
Bootmenü
Ab MS-DOS Version 6.0 gibt es die Möglichkeit, in der CONFIG.SYS
ein Bootmenü einzurichten, um verschiedene Konfigurationen der Systemeinrichtung leicht zu ermöglichen. Die gewählte Konfiguration lässt sich in der AUTOEXEC.BAT
ermitteln und entsprechend kann diese dann nur bestimmte Abschnitte ihres Inhalts ausführen.
Windows NT
In der Windows-NT-Betriebssystemlinie und seinen Weiterentwicklungen ab Windows 2000 ist Autoexec.nt
, das Äquivalent der autoexec.bat
, Teil des 16-Bit-MS-DOS-Subsystems und liegt unter %SystemRoot%\system32
. Diese Datei wird nicht beim Start des Computers geladen, sondern nur dann, wenn eine DOS-basierte Anwendung gestartet werden soll.[3]
Die autoexec.bat kann jedoch trotzdem häufig in Windows-NT-Systemen gefunden werden. Das Betriebssystem nutzt in dem Fall nur die als SET
angegebenen Befehle, mit denen die Umgebungsvariablen für alle Benutzer eines Rechners eingestellt werden können (alternativ zu Einträgen in der Registry). Umgebungsvariablen in dieser Datei zu setzen, ist zudem eine interessante Option, wenn neben dem Windows-System auch ein DOS-System startet (dies setzt allerdings die Verwendung des FAT-Dateisystems voraus) oder um die Einstellungen auch nach einer Neuinstallation noch zu haben. Durch die TweakUI-Anwendung der PowerToys-Sammlung kann diese Funktion kontrolliert werden (Parse Autoexec.bat at logon).
Für den Start des Kommandozeileninterpreters cmd.exe
(das Öffnen einer „MS-DOS-Eingabeaufforderung“) kann eine entsprechende Batchdatei in der Registry eingetragen werden, oder dem Programm bei dessen Aufruf als Parameter /k c:\dos\shell.bat
mitgegeben werden (entsprechende shell.bat
enthält dann die Befehle).
In 64-Bit-Versionen von Windows ist das „16-Bit MS-DOS Subsystem“ nicht mehr enthalten.
Andere Betriebssysteme
Andere Betriebssysteme, die nicht auf MS-DOS/IBM PC-DOS beruhen, verwenden andere Autostart-Skriptdateien oder -Mechanismen.
Weblinks
- mr: Alternative Autoexec.bat. In: Heise online. 9. Februar 1995.
Einzelnachweise
- Edward Mendelson: How to use 4DOS as a command processor in vDos. In: vDos. SourceForge, 29. Juli 2015, abgerufen am 17. Dezember 2021 (englisch): „When you start 4DOS, it automatically runs a batch file named 4START.BTM if that file exists! You can use 4START.BTM as an Autoexec.bat for 4DOS. You can also run
4dos mybatch.bat
and 4DOS will run mybatch.bat AFTER running 4START.BTM if 4START.BTM exists.“ - PTS-DOS 2000 Pro – User Manual. (PDF; 382K) Paragon Technology GmbH, 2002, abgerufen am 17. Dezember 2021 (englisch): „CONFIGURATION FILE CONFIG.PTS …
SHELL = C:\PTSDOS\command.com C:\PTSDOS /p C:\AUTOPTS.BAT
“ - Fehlermeldung „16-Bit MS-DOS Subsystem“ beim Ausführen eines MS-DOS- oder 16-Bit-Windows-Programms in Windows Server 2003 oder Windows 2000 Server. In: Support. Microsoft, abgerufen am 1. April 2020.