- AUTOEXEC.BAT
-
AUTOEXEC.BAT (от англ. automatic execution — автоматическое исполнение и англ. batch — пакет, группа) — системный пакетный файл (файл, содержащий последовательность команд на языке интерпретатора командной строки — поставляемого в составе MS-DOS COMMAND.COM или его клонов вроде 4DOS (англ.)), расположенный в корневом каталоге загрузочного устройства (англ. Boot disk) (дискеты или диска). Впервые этот файл появился в операционной системе MS-DOS, а его имя является аббревиатурой и описывает его функцию — автоматическое исполнение команд при загрузке системы. Аббревиатура была необходима из-за ограничения 8.3 на длину имени файла (8 знаков собственно имени и 3 знака расширения) в файловой системе FAT[1].
AUTOEXEC.BAT ничем не отличается от прочих пакетных файлов (в отличие от другого файла конфигурирования DOS, Windows 9x и OS/2 — CONFIG.SYS). Как правило, он используется в DOS для установки ключевых переменных окружения (таких как PATH), загрузки драйверов и резидентных программ (SMARTDRV.EXE, MSCDEX, дра́йвера мыши, программ русификации клавиатуры и экрана и т. п.), а также запуска утилит конфигурации (например, для настройки параметров звуковых карт) и проверки системы (например, антивирусных сканеров).
Содержание
Использование
MS-DOS
В MS-DOS AUTOEXEC.BAT исполняется после старта командного интерпретатора, который загружается после обработки команд из файла конфигурации CONFIG.SYS. С помощью директивы
shell=
в CONFIG.SYS можно задействовать командный интерпретатор, отличный от COMMAND.COM, и/или указать имя для стартового пакетного файла, отличное от AUTOEXEC.BAT. При отсутствии файла AUTOEXEC.BAT (или при отмене его исполнения) в большинстве версий DOS командный интерпретатор запрашивает у пользователя текущие дату и время.[2]Начиная с MS-DOS 6.0,[3] появилась возможность пропустить исполнение AUTOEXEC.BAT с помощью функциональных клавиш F5 и F8 (для этого в COMMAND.COM ввели поддержку опций /Y и /D), но с помощью директивы
switches=
в файле CONFIG.SYS эти клавиши можно заблокировать.[4]Клоны MS-DOS
Клоны MS-DOS кроме файла AUTOEXEC.BAT могут использовать файлы и с другими именами, что облегчает сосуществование разных версий DOS на одном диске. Например, в Caldera DR-DOS 7 вместо AUTOEXEC.BAT исполняется файл AUTODOS7.BAT[5], если такой имеется на диске.
Windows 95 и Windows 98 (MS-DOS 7.x)
Windows 95 и Windows 98 основаны на MS-DOS 7.x и работа с AUTOEXEC.BAT в этих операционных системах происходит так же, как и в предыдущих версиях MS-DOS. Отличие же MS-DOS 7.x от предыдущих версий заключается в том, что по окончании исполнения AUTOEXEC.BAT автоматически запускается графическая оболочка, а не выводится командная строка. Однако, с помощью настройки
BootGUI
в файле MSDOS.SYS это можно отменить, и тогда пользователь, как и ранее, будет оставаться в командной строке, из которой графическую оболочку можно запустить вручную командой WIN.[6]Двойная загрузка DOS и Windows 9x
При установке Windows 9x поверх уже установленной DOS или Windows файл AUTOEXEC.BAT (так же, как CONFIG.SYS и системные исполняемые файлы IO.SYS, MSDOS.SYS и COMMAND.COM) переименовывается в AUTOEXEC.DOS.[7] Это делается с целью облегчения двойной загрузки между Windows 9x и DOS: при загрузке в предыдущую версию системы (через выбор соответствующего пункта из стартового меню Windows, вызываемого клавишей F8 , или через нажатие клавиши F4 при старте системы), этот файл временно, до следующей перезагрузки, переименовывается обратно, а файл AUTOEXEC.BAT, созданный для Windows 9x, переименовывается в AUTOEXEC.W40.[8] (При этом файл IO.SYS в Windows 95 переименовывается в WINBOOT.SYS, а в Windows 98/ME — в JO.SYS).[8][9][10]
Перезагрузка в режиме MS-DOS из-под Windows
При выборе пункта «перезагрузить компьютер в режиме MS-DOS» (англ. Restart the computer in MS-DOS mode) в диалоге «Завершение работы Windows» (англ. Shut Down Windows) или при запуске DOS-приложения через ярлык в Windows 9x имеется возможность задать конфигурацию (CONFIG.SYS и AUTOEXEC.BAT), отличную от основной конфигурации.[11][12][13][14]
При перезагрузке компьютера через выбор пункта «перезагрузить компьютер в режиме 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 (MS-DOS 8.0)
В Windows ME в файле AUTOEXEC.BAT игнорируются все команды, кроме команд установки переменных окружения[15], однако известны способы обхода этого ограничения[16].
Семейство Windows NT
В операционных системах семейства Windows NT AUTOEXEC.BAT обрабатывается при входе пользователя в систему, и, как и в Windows ME, в нём игнорируются все команды, кроме команд установки переменных окружения (
PATH
,PROMPT
иSET
).[17] После обработки переменные из AUTOEXEC.BAT добавляются к переменным, заданным в реестре (в том числе, содержимое переменнойPATH
дописывается к содержимому, сформированному Windows). Обработку AUTOEXEC.BAT можно отменить, установив в 0 значение ключа реестра HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ParseAutoexec.[18]OS/2
В операционных системах семейства OS/2 файл AUTOEXEC.BAT отрабатывается при запуске сессии DOS в Virtual DOS Machine.[19]
Другие автостартующие пакетные файлы системы
Файл autoexec.nt
В операционных системах семейства Windows NT файл AUTOEXEC.BAT используется только для чтения переменных окружения. При старте DOS-сессий (для запуска в режиме эмуляции приложений, написанных для DOS) вместо него исполняется файл autoexec.nt, расположенный в %systemroot%\System32. Синтаксис этого файла похож на синтаксис AUTOEXEC.BAT, но исполняется он без вывода сообщений о программах и командах на консоль (если только в файле config.nt не дана команда echoconfig[20]). Помимо этого, в свойствах ярлыка (pif-файла) для DOS-приложения можно задать собственные файлы config.nt и autoexec.nt (англ. Custom MS-DOS initialization files).
Файлы WINSTART.BAT и DOSSTART.BAT
В Windows 3.x и операционных системах Windows 95 и Windows 98 файл WINSTART.BAT, располагающийся в каталоге Windows (указывается в переменной окружения %windir%), исполняется непосредственно перед стартом графической оболочки.[21]
Файл DOSSTART.BAT, добавленный в Windows 95 и Windows 98 и располагающийся также в каталоге Windows, исполняется при выходе из графической оболочки в режим командной строки.[22]
Меню конфигураций
Начиная с MS-DOS 6.0 появилась возможность в CONFIG.SYS описывать меню для выбора одной из нескольких конфигураций.[23] При выборе пункта меню имя секции с описанием требуемой конфигурации, указанное в этом пункте, сохраняется в переменной окружения
CONFIG
. Это позволяет с помощью командgoto %CONFIG%
иif "%CONFIG%"==
в AUTOEXEC.BAT (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке.Пример файла AUTOEXEC.BAT
@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).Интересные факты
- Некоторые файловые менеджеры (DOS Navigator, Norton Commander 5) при запуске на исполнение файлов с расширением .bat сравнивают их имя с AUTOEXEC.BAT и запрашивают у пользователя подтверждение в случае совпадения.
AUTOEXEC.BAT в культуре
Файл AUTOEXEC.BAT — один из немногих файлов, которые удостоились упоминания в известном художественном произведении. В повести Виктора Пелевина «Принц Госплана» AUTOEXEC.BAT играет важную роль. В первый раз упоминание о нём появляется в третьей главе (Level 3).[24] Главный герой советует «командировочному из Пензы», прибывшему в Госснаб по каким-то делам и играющему между делом на компьютере в Starglider (англ.), вписать в «автоэкзэк» команду вызова игры, что может помочь возродиться в случае гибели в игре:[25]
Саша пересел за соседний компьютер, вышел на драйв «а», из которого торчала поганая болгарская дискета гостя, и вызвал игру. Дисковод тихо зажужжал, и через несколько секунд в кресле снова появился мужик из Пензы.
— Когда на вас ракеты летят, — сказал Саша, — вы на высоту лучше уходите. Из лазера больше одной не собьёшь, а эта штука пачками бьёт.
— Ты не учи, не учи, — огрызнулся тот, припадая к клавиатуре, — не первый год в дальнем космосе.
— Тогда автоэкзэк себе сделайте, — сказал Саша, — а то вас каждый раз вызывать времени ни у кого нет.
Гость не отзывался — на него шли сразу два шагающих танка, и ему было не до болтовни.
Во второй раз AUTOEXEC.BAT спасает самого главного героя. Четвёртая глава (Level 4) описывает поездку героя в Госплан на метро, где он погибает, попав на эскалаторе на одно из стандартных препятствий игры Prince of Persia, так называемую «разрезалку пополам»: два зазубренных лезвия, которые выскакивают из пола и потолка навстречу друг другу и сталкиваются с характерным лязгом. При попадании Саши в разрезалку глава обрывается многоточием на полуслове внутреннего монолога героя, после чего следуют заголовки AUTOEXEC.BAT, LEVEL 4 и четвёртая глава начинается снова. Постепенно в её текст вкрадываются модификации, а лица некоторых пассажиров кажутся Саше странно знакомыми. В этом варианте главы Саша поднимается по другому эскалатору, видит разрезалку пополам, заработавшую на соседнем эскалаторе, и радуется, что ему удалось её избежать.
Примечания
- ↑ KB100108: Обзор файловых систем FAT, HPFS и NTFS (рус.). Microsoft (23 декабря 2005). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB95554: Not Using the /P Switch with the SHELL Command (англ.). Microsoft (18 января 2007). Архивировано из первоисточника 27 января 2012. Проверено 21 декабря 2008.
- ↑ KB96710: How Do I Get MS-DOS to Run in the High Memory Area? (англ.). Microsoft (12 мая 2003). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
При использовании 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).
- ↑ KB93602: How to Disable F5 and F8 During Startup in MS-DOS (англ.). Microsoft (16 ноября 1999). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ Chapter 1. Introduction to Caldera DR-DOS. Features of Caldera DR-DOS (англ.). Caldera DR-DOS Quick Start Guide. Caldera Thin Clients (1998). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB141721: How to Boot to a Command Prompt by Default (англ.). Microsoft (19 января 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB121963: Requirements to Boot Previous Operating System (англ.). Microsoft (10 мая 2007). Архивировано из первоисточника 21 января 2012. Проверено 7 июня 2009.
- ↑ 1 2 MDGx / AXCEL216. The renaming game (англ.). Windows 95/98/NT4/2000/ME/XP/2003 + DOS 7.xx/8.00 Tricks + Secrets Files. Проверено 7 июня 2009.
- ↑ KB187641: Err Msg: The Following File Is Missing or Corrupt… (англ.). Microsoft (23 января 2007). — «The Jo.sys file is used by Windows 98 and Windows Me in a dual-boot environment with MS-DOS» Архивировано из первоисточника 21 января 2012. Проверено 7 июня 2009.
- ↑ См. также: Bart’s free JO.SYS (англ.) (12 марта 2002, версия 1.4). — Альтернативный вариант JO.SYS. Архивировано из первоисточника 21 января 2012. Проверено 7 июня 2009.
- ↑ KB138996: Description of Restarting Computer in MS-DOS Mode (англ.). Microsoft (19 января 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB134400: General Tips for Using MS-DOS Mode (англ.). Microsoft (19 января 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB130448: Cannot Quit MS-DOS Mode (англ.). Microsoft (19 января 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB151717: Cannot Exit MS-DOS Mode (англ.). Microsoft (19 января 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB269524: Overview of Real Mode Removal from Windows Millennium Edition (англ.). Microsoft (27 января 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ Reines [MFD]. Real DOS-Mode Patch for Windows ME v1.3 (англ.) (15 августа 2000).(недоступная ссылка — история) Проверено 21 декабря 2008.
- ↑ Appendix B. Other Application Environments (англ.). Библиотека TechNet. Microsoft. — Окружение для приложений Windows 3.x, MS-DOS и OS/2 в Windows NT. Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB124551: INFO: Configuring Parsing of the AUTOEXEC.BAT File (англ.). Microsoft (20 марта 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ Общая часть. Статья 097. OS/2 General FAQ. Russian Underground/2. — Советы по настройкам в AUTOEXEC.BAT. Архивировано из первоисточника 28 апреля 2012. Проверено 8 апреля 2012.
- ↑ Windows XP / Echoconfig (англ.). TechNet Library. Microsoft. Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB69186: WINSTART.BAT Won’t Load Microsoft LAN Manager Driver (англ.). Microsoft (16 ноября 2006). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ KB141308: How to Run Automatic Commands When Starting in MS-DOS Mode (англ.). Microsoft (18 января 2007). Архивировано из первоисточника 21 января 2012. Проверено 21 декабря 2008.
- ↑ Batch Commands. TechNet Archive → MS-DOS. Microsoft. Архивировано из первоисточника 27 января 2012. Проверено 7 августа 2020.
- ↑ Повесть, герои которой живут на границе между реальностью и виртуальным миром компьютерных игр, состоит из введения (Loading…) и глав (Level 1, Level 2 и т. д.). Главный герой Саша играет в игру Prince of Persia, на которую и намекает название повести.
- ↑ Пелевин В. Level 3 // Принц Госплана.
Эта статья входит в число хороших статей русскоязычного раздела Википедии. Категории:- DOS
- Microsoft Windows
Wikimedia Foundation. 2010.