Рагимов, Садых Гаджи Ярали оглы
- 1 year ago
- 0
- 0
AUTOEXEC.BAT (от англ. automatic execution — автоматическое исполнение и англ. batch — пакет, группа) — системный пакетный файл (файл, содержащий последовательность команд на языке интерпретатора командной строки — поставляемого в составе MS-DOS COMMAND.COM или его клонов вроде 4DOS ), расположенный в корневом каталоге ( англ. ) ( дискеты или диска ). Впервые этот файл появился в операционной системе MS-DOS , а его имя является аббревиатурой и описывает его функцию — автоматическое исполнение команд при загрузке системы . Аббревиатура была необходима из-за ограничения 8.3 на длину имени файла (8 знаков собственно имени и 3 знака расширения ) в файловой системе FAT .
AUTOEXEC.BAT ничем не отличается от прочих пакетных файлов (в отличие от другого файла конфигурирования DOS, Windows 9x и OS/2 — CONFIG.SYS ). Как правило, он используется в DOS для установки ключевых переменных окружения (таких как PATH ), загрузки драйверов и резидентных программ ( SMARTDRV.EXE , MSCDEX , дра́йвера мыши , программ русификации клавиатуры и экрана и т. п.), а также запуска утилит конфигурации (например, для настройки параметров звуковых карт) и проверки системы (например, антивирусных сканеров ).
В
MS-DOS
AUTOEXEC.BAT исполняется после старта командного интерпретатора, который загружается после обработки команд из файла конфигурации
CONFIG.SYS
. С помощью директивы
shell=
в CONFIG.SYS можно задействовать командный интерпретатор, отличный от COMMAND.COM, и/или указать имя для стартового пакетного файла, отличное от AUTOEXEC.BAT. При отсутствии файла AUTOEXEC.BAT (или при отмене его исполнения) в большинстве версий DOS командный интерпретатор запрашивает у пользователя текущие дату и время.
Начиная с MS-DOS 6.0,
появилась возможность пропустить исполнение AUTOEXEC.BAT с помощью функциональных клавиш
F5
и
F8
(для этого в COMMAND.COM ввели поддержку опций
/Y
и
/D
), но с помощью директивы
switches=
в файле CONFIG.SYS эти клавиши можно заблокировать.
Клоны MS-DOS кроме файла AUTOEXEC.BAT могут использовать файлы и с другими именами, что облегчает сосуществование разных версий DOS на одном диске. Например, в Caldera DR-DOS 7 вместо AUTOEXEC.BAT исполняется файл AUTODOS7.BAT , если такой имеется на диске.
Windows 95
и
Windows 98
основаны на MS-DOS 7.x и работа с AUTOEXEC.BAT в этих операционных системах происходит так же, как и в предыдущих версиях MS-DOS. Отличие же MS-DOS 7.x от предыдущих версий заключается в том, что по окончании исполнения AUTOEXEC.BAT автоматически запускается графическая оболочка, а не выводится командная строка. Однако, с помощью настройки
BootGUI
в файле
MSDOS.SYS
это можно отменить, и тогда пользователь, как и ранее, будет оставаться в командной строке, из которой графическую оболочку можно запустить вручную командой
WIN
.
При установке Windows 9x поверх уже установленной DOS или Windows файл AUTOEXEC.BAT (так же, как CONFIG.SYS и системные исполняемые файлы IO.SYS , MSDOS.SYS и COMMAND.COM ) переименовывается в AUTOEXEC.DOS . Это делается с целью облегчения двойной загрузки между Windows 9x и DOS: при загрузке в предыдущую версию системы (через выбор соответствующего пункта из стартового меню Windows, вызываемого клавишей F8 , или через нажатие клавиши F4 при старте системы), этот файл временно, до следующей перезагрузки, переименовывается обратно, а файл AUTOEXEC.BAT, созданный для Windows 9x, переименовывается в AUTOEXEC.W40. (При этом файл IO.SYS в Windows 95 переименовывается в WINBOOT.SYS, а в Windows 98 / ME — в JO.SYS).
При выборе пункта «перезагрузить компьютер в режиме MS-DOS» ( англ. Restart the computer in MS-DOS mode ) в диалоге «Завершение работы Windows» ( англ. Shut Down Windows ) или при запуске DOS-приложения через ярлык в Windows 9x имеется возможность задать конфигурацию (CONFIG.SYS и AUTOEXEC.BAT), отличную от основной конфигурации.
При перезагрузке компьютера через выбор пункта «перезагрузить компьютер в режиме MS-DOS» в диалоге «Завершение работы Windows», Windows закрывает все запущенные программы и выгружает себя из памяти, после чего выходит в командную строку в
реальном режиме
. Если в свойствах (закладка «Программа», кнопка «Дополнительно») файла
Exit to DOS.pif
(
Выход в Dos.PIF
в русской версии Windows), который находится в каталоге Windows и управляет перезагрузкой в режим MS-DOS, выбрана опция «Использовать текущую конфигурацию MS-DOS» (
англ.
Use Current MS-DOS Configuration
), то исполняется файл DOSSTART.BAT. В противном случае, если выбрана опция «Выбрать новую конфигурацию MS-DOS» (
англ.
Specify A New MS-DOS Configuration
), вместо основных CONFIG.SYS и AUTOEXEC.BAT используются файлы с содержанием, указанным в тех же настройках. Для возврата к Windows после перезапуска компьютера в режиме MS-DOS нужно выполнить команду
exit
в командной строке.
При запуске через ярлык программы, настроенной на запуск в режиме MS-DOS со своей конфигурацией (закладка «Программ», кнопка «Дополнительно», опция «Выбрать новую конфигурацию MS-DOS»), файлы CONFIG.SYS и AUTOEXEC.BAT переименовываются в файлы CONFIG.WOS и AUTOEXEC.WOS (в случае отсутствия этих файлов создаются файлы нулевой длины). После чего создаются новые файлы CONFIG.SYS и AUTOEXEC.BAT и туда копируются строки, указанные в настройках ярлыка. При этом первой строкой нового CONFIG.SYS будет строка
dos=single
, а последней строкой AUTOEXEC.BAT —
<windir>
\win.com /wx
" (где вместо
<windir>
записывается путь к каталогу Windows). Также, файл AUTOEXEC.BAT будет содержать команды
CD
для перехода в каталог с программой и
CALL
для запуска программы. Далее Windows перезапускает компьютер и, обнаружив файлы CONFIG.WOS и AUTOEXEC.WOS, IO.SYS при загрузке системы выдаёт сообщение «Windows 95/98 is now starting your MS-DOS-based program».
Опция /wx в команде запуска win.com заставляет Windows переименовать CONFIG.SYS и AUTOEXEC.BAT в CONFIG.APP и AUTOEXEC.APP, вернуть исходные файлы CONFIG.SYS и AUTOEXEC.BAT из файлов CONFIG.WOS и AUTOEXEC.WOS и перезагрузиться. После перезагрузки, при старте Windows, содержимое файлов CONFIG.APP и AUTOEXEC.APP копируется обратно в свойства DOS-программы, которая и была запущена в режиме MS-DOS.
В Windows ME в файле AUTOEXEC.BAT игнорируются все команды, кроме команд установки переменных окружения , однако известны способы обхода этого ограничения .
В операционных системах семейства
Windows NT
AUTOEXEC.BAT обрабатывается при входе пользователя в систему, и, как и в
Windows ME
, в нём игнорируются все команды, кроме команд установки переменных окружения (
PATH
,
PROMPT
и
SET
).
После обработки переменные из AUTOEXEC.BAT добавляются к переменным, заданным в
реестре
(в том числе, содержимое переменной
PATH
дописывается к содержимому, сформированному Windows). Обработку AUTOEXEC.BAT можно отменить, установив в 0 значение ключа реестра
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ParseAutoexec
.
В операционных системах семейства OS/2 файл AUTOEXEC.BAT отрабатывается при запуске сессии DOS в Virtual DOS Machine.
В операционных системах семейства Windows NT файл AUTOEXEC.BAT используется только для чтения переменных окружения. При старте DOS-сессий (для запуска в режиме эмуляции приложений, написанных для DOS ) вместо него исполняется файл autoexec.nt , расположенный в %systemroot%\System32 . Синтаксис этого файла похож на синтаксис AUTOEXEC.BAT, но исполняется он без вывода сообщений о программах и командах на консоль (если только в файле config.nt не дана команда echoconfig ). Помимо этого, в свойствах ярлыка (pif-файла) для DOS-приложения можно задать собственные файлы config.nt и autoexec.nt ( англ. Custom MS-DOS initialization files ).
В Windows 3.x и операционных системах Windows 95 и Windows 98 файл WINSTART.BAT , располагающийся в каталоге Windows (указывается в переменной окружения %windir% ), исполняется непосредственно перед стартом графической оболочки .
Файл DOSSTART.BAT , добавленный в Windows 95 и Windows 98 и располагающийся также в каталоге Windows, исполняется при выходе из графической оболочки в режим командной строки.
@ECHO OFF
REM C:\WINDOWS\SMARTDRV.EXE
C:\WINDOWS\SMARTDRV.EXE 2038 512
PROMPT $p$g
PATH C:\DOS;C:\WINDOWS;C:\LWORKS;C:\EXPLORER.4LC
SET TEMP=C:\DOS
MODE LPT1:,,P >nul
C:\DOS\SHARE.EXE /F:150 /L:1500
C:\WINDOWS\mouse.COM /Y
cd windows
WIN
В этом примере можно видеть отключение эха (дублирование обрабатываемых строк на экран), запуск драйвера SMARTDRV (одна строка закомментирована, в другой SMARTDRV запускается с аргументами), установку переменных окружения (
PROMPT
,
PATH
,
TEMP
), запуск резидентной программы (MODE) и других драйверов (SHARE и MOUSE), и, наконец, переход в каталог
windows
(
CD
) и запуск собственно Windows (
WIN
).
При использовании MS-DOS 6.0 или 6.2 … не требуется создавать загрузочный диск, поскольку при загрузке можно воспользоваться клавишей F8 для пропуска команд в CONFIG.SYS, если они подвешивают систему.
Оригинальный текст (англ.)If you are using MS-DOS 6.0 or 6.2 … You do not need to create a startup floppy disk because you can use the MS-DOS interactive startup key (F8) to bypass commands in your CONFIG.SYS file if they cause your system to stop responding (hang).