AUTOEXEC.BAT — различия между версиями

Материал из Old-DOS Wiki
Перейти к: навигация, поиск
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
AUTOEXEC.BAT (от англ. automatic execution — автоматическое исполнение и англ. batch — пакет, группа) — системный пакетный файл (файл, содержащий последовательность команд на языке интерпретатора командной строки — поставляемого в составе MS-DOS COMMAND.COM или его клонов вроде 4DOS), расположенный в корневом каталоге загрузочного устройства (англ. Boot disk) (дискеты или диска). Впервые этот файл появился в операционной системе MS-DOS, а его имя является аббревиатурой и описывает его функцию — автоматическое исполнение команд при загрузке системы. Аббревиатура была необходима из-за ограничения 8.3 на длину имени файла (8 знаков собственно имени и 3 знака расширения) в файловой системе FAT[1].
+
{{Статья_из_Википедии
 +
|Оригинальная статья=AUTOEXEC.BAT
 +
}}
 +
<!--
 +
Так как эта статья скопирована из Википедии она распостроняется по лицензии Creative Commons Attribution-ShareAlike 3.0 Unported (Её условия https://creativecommons.org/licenses/by-sa/3.0/legalcode)
 +
Поэтому редактирую эту статью Вы соглашаетесь на условия этой лицензии
 +
Если Вы согласны начинайте редоктирование
 +
Если нет выйдете из режима редактирования
 +
---------------------------------------------------------
 +
Пожалуйста не нарушайте авторские права в этой статье -->
 +
AUTOEXEC.BAT (от англ. automatic execution — автоматическое исполнение и англ. batch — пакет, группа) — системный пакетный файл (файл, содержащий последовательность команд на языке интерпретатора командной строки — поставляемого в составе [[MS-DOS]] [[COMMAND.COM]] или его клонов вроде 4DOS), расположенный в корневом каталоге загрузочного устройства (англ. Boot disk) (дискеты или диска). Впервые этот файл появился в операционной системе MS-DOS, а его имя является аббревиатурой и описывает его функцию — автоматическое исполнение команд при загрузке системы. Аббревиатура была необходима из-за ограничения 8.3 на длину имени файла (8 знаков собственно имени и 3 знака расширения) в файловой системе FAT.
  
AUTOEXEC.BAT ничем не отличается от прочих пакетных файлов (в отличие от другого файла конфигурирования DOS, Windows 9x и OS/2 — CONFIG.SYS). Как правило, он используется в DOS для установки ключевых переменных окружения (таких как PATH), загрузки драйверов и резидентных программ (SMARTDRV.EXE, MSCDEX, дра́йвера мыши, программ русификации клавиатуры и экрана и т. п.), а также запуска утилит конфигурации (например, для настройки параметров звуковых карт) и проверки системы (например, антивирусных сканеров).
+
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 командный интерпретатор запрашивает у пользователя текущие дату и время.[2]
+
== MS-DOS ==
  
Начиная с MS-DOS 6.0,[3] появилась возможность пропустить исполнение AUTOEXEC.BAT с помощью функциональных клавиш F5 и F8 (для этого в COMMAND.COM ввели поддержку опций /Y и /D), но с помощью директивы switches= в файле CONFIG.SYS эти клавиши можно заблокировать.[4]
+
В MS-DOS AUTOEXEC.BAT исполняется после старта командного интерпретатора, который загружается после обработки команд из файла конфигурации CONFIG.SYS. С помощью директивы shell= в CONFIG.SYS можно задействовать командный интерпретатор, отличный от COMMAND.COM, и/или указать имя для стартового пакетного файла, отличное от AUTOEXEC.BAT. При отсутствии файла AUTOEXEC.BAT (или при отмене его исполнения) в большинстве версий DOS командный интерпретатор запрашивает у пользователя текущие дату и время.
  
Клоны MS-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[5], если такой имеется на диске.
+
  
Windows 95 и Windows 98 (MS-DOS 7.x)
+
== Клоны MS-DOS ==
Windows 95 и Windows 98 основаны на MS-DOS 7.x и работа с AUTOEXEC.BAT в этих операционных системах происходит так же, как и в предыдущих версиях MS-DOS. Отличие же MS-DOS 7.x от предыдущих версий заключается в том, что по окончании исполнения AUTOEXEC.BAT автоматически запускается графическая оболочка, а не выводится командная строка. Однако, с помощью настройки BootGUI в файле MSDOS.SYS это можно отменить, и тогда пользователь, как и ранее, будет оставаться в командной строке, из которой графическую оболочку можно запустить вручную командой WIN.[6]
+
Клоны MS-DOS кроме файла AUTOEXEC.BAT могут использовать файлы и с другими именами, что облегчает сосуществование разных версий DOS на одном диске. Например, в Caldera DR-DOS 7 вместо AUTOEXEC.BAT исполняется файл AUTODOS7.BAT, если такой имеется на диске.
  
Двойная загрузка DOS и Windows 9x
+
== Windows 95 и Windows 98 (MS-DOS 7.x) ==
При установке 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]
+
Windows 95 и Windows 98 основаны на MS-DOS 7.x и работа с AUTOEXEC.BAT в этих операционных системах происходит так же, как и в предыдущих версиях MS-DOS. Отличие же MS-DOS 7.x от предыдущих версий заключается в том, что по окончании исполнения AUTOEXEC.BAT автоматически запускается графическая оболочка, а не выводится командная строка. Однако, с помощью настройки BootGUI в файле MSDOS.SYS это можно отменить, и тогда пользователь, как и ранее, будет оставаться в командной строке, из которой графическую оболочку можно запустить вручную командой WIN.
  
Перезагрузка в режиме MS-DOS из-под Windows
+
== Двойная загрузка 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. (При этом файл IO.SYS в Windows 95 переименовывается в WINBOOT.SYS, а в Windows 98/ME — в JO.SYS).
 +
 
 +
== Перезагрузка в режиме 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» (англ. Restart the computer in MS-DOS mode) в диалоге «Завершение работы Windows» (англ. Shut Down Windows) или при запуске DOS-приложения через ярлык в Windows 9x имеется возможность задать конфигурацию (CONFIG.SYS и AUTOEXEC.BAT), отличную от основной конфигурации.[11][12][13][14]
  
Строка 26: Строка 38:
  
 
Windows ME (MS-DOS 8.0)
 
Windows ME (MS-DOS 8.0)
В Windows ME в файле AUTOEXEC.BAT игнорируются все команды, кроме команд установки переменных окружения[15], однако известны способы обхода этого ограничения.
+
В Windows ME в файле AUTOEXEC.BAT игнорируются все команды, кроме команд установки переменных окружения, однако известны способы обхода этого ограничения.
  
 
Семейство Windows NT
 
Семейство Windows NT
Строка 32: Строка 44:
  
  
Начиная с MS-DOS 6.0 появилась возможность в CONFIG.SYS описывать меню для выбора одной из нескольких конфигураций.[23] При выборе пункта меню имя секции с описанием требуемой конфигурации, указанное в этом пункте, сохраняется в переменной окружения CONFIG. Это позволяет с помощью команд goto %CONFIG% и if "%CONFIG%"== в AUTOEXEC.BAT (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке.
+
Начиная с MS-DOS 6.0 появилась возможность в CONFIG.SYS описывать меню для выбора одной из нескольких конфигураций. При выборе пункта меню имя секции с описанием требуемой конфигурации, указанное в этом пункте, сохраняется в переменной окружения CONFIG. Это позволяет с помощью команд goto %CONFIG% и if "%CONFIG%"== в AUTOEXEC.BAT (и в прочих пакетных файлах) выполнять разные действия в зависимости от выбора конфигурации при загрузке.
  
ПРИМЕР:
+
== Пример файла AUTOEXEC.BAT ==
  
@ECHO OFF
+
@ECHO OFF <br>
REM C:\WINDOWS\SMARTDRV.EXE
+
REM C:\WINDOWS\SMARTDRV.EXE <br>
C:\WINDOWS\SMARTDRV.EXE 2038 512
+
C:\WINDOWS\SMARTDRV.EXE 2038 512 <br>
PROMPT $p$g
+
PROMPT $p$g <br>
PATH C:\DOS;C:\WINDOWS;C:\LWORKS;C:\EXPLORER.4LC
+
PATH C:\DOS;C:\WINDOWS;C:\LWORKS;C:\EXPLORER.4LC <br>
SET TEMP=C:\DOS
+
SET TEMP=C:\DOS <br>
MODE LPT1:,,P >nul
+
MODE LPT1:,,P >nul <br>
C:\DOS\SHARE.EXE /F:150 /L:1500
+
C:\DOS\SHARE.EXE /F:150 /L:1500 <br>
C:\WINDOWS\mouse.COM /Y
+
C:\WINDOWS\mouse.COM /Y <br>
cd windows
+
cd windows <br>
WIN
+
WIN <br>
  
 
В этом примере можно видеть отключение эха (дублирование обрабатываемых строк на экран), запуск драйвера SMARTDRV (одна строка закомментирована, в другой SMARTDRV запускается с аргументами), установку переменных окружения (PROMPT, PATH, TEMP), запуск резидентной программы (MODE) и других драйверов (SHARE и MOUSE), и, наконец, переход в каталог windows (CD) и запуск собственно Windows (WIN).
 
В этом примере можно видеть отключение эха (дублирование обрабатываемых строк на экран), запуск драйвера SMARTDRV (одна строка закомментирована, в другой SMARTDRV запускается с аргументами), установку переменных окружения (PROMPT, PATH, TEMP), запуск резидентной программы (MODE) и других драйверов (SHARE и MOUSE), и, наконец, переход в каталог windows (CD) и запуск собственно Windows (WIN).

Текущая версия на 22:23, 26 октября 2022

Эта статья основана на https://ru.wikipedia.org/wiki/AUTOEXEC.BAT и оригинал распространяется на условиях Creative Commons Attribution-ShareAlike 3.0 Unported, но это не относится к файлам
Редактируя эту статью Вы соглашайтесь на публикацию на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 Unported


AUTOEXEC.BAT (от англ. automatic execution — автоматическое исполнение и англ. batch — пакет, группа) — системный пакетный файл (файл, содержащий последовательность команд на языке интерпретатора командной строки — поставляемого в составе MS-DOS COMMAND.COM или его клонов вроде 4DOS), расположенный в корневом каталоге загрузочного устройства (англ. Boot disk) (дискеты или диска). Впервые этот файл появился в операционной системе MS-DOS, а его имя является аббревиатурой и описывает его функцию — автоматическое исполнение команд при загрузке системы. Аббревиатура была необходима из-за ограничения 8.3 на длину имени файла (8 знаков собственно имени и 3 знака расширения) в файловой системе FAT.

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 командный интерпретатор запрашивает у пользователя текущие дату и время.

Начиная с MS-DOS 6.0, появилась возможность пропустить исполнение AUTOEXEC.BAT с помощью функциональных клавиш F5 и F8 (для этого в COMMAND.COM ввели поддержку опций /Y и /D), но с помощью директивы switches= в файле CONFIG.SYS эти клавиши можно заблокировать.

Клоны MS-DOS

Клоны MS-DOS кроме файла AUTOEXEC.BAT могут использовать файлы и с другими именами, что облегчает сосуществование разных версий DOS на одном диске. Например, в Caldera DR-DOS 7 вместо AUTOEXEC.BAT исполняется файл AUTODOS7.BAT, если такой имеется на диске.

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.

Двойная загрузка 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. (При этом файл IO.SYS в Windows 95 переименовывается в WINBOOT.SYS, а в Windows 98/ME — в JO.SYS).

Перезагрузка в режиме 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 игнорируются все команды, кроме команд установки переменных окружения, однако известны способы обхода этого ограничения.

Семейство 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.


Начиная с MS-DOS 6.0 появилась возможность в CONFIG.SYS описывать меню для выбора одной из нескольких конфигураций. При выборе пункта меню имя секции с описанием требуемой конфигурации, указанное в этом пункте, сохраняется в переменной окружения 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).