Пакетный файл | это... Что такое Пакетный файл? (original) (raw)
BAT
Расширение | .bat, .cmd (в ОС семейства Windows NT) |
---|---|
Тип формата | Скриптовый язык программирования |
Пакетный файл (англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа-интерпретатор (как правило, COMMAND.COM или cmd.exe) читает его строка за строкой и последовательно исполняет команды. Пакетный файл — аналог cкриптовых файлов командной строки (shell script) в Unix-подобных операционных системах.
Пакетные файлы в DOS имеют расширение .BAT; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT и OS/2 или .BTM в 4DOS (англ.) или подобных оболочках.
Содержание
История
Поддержка пакетных файлов имелась в MS-DOS с самого начала. Командные интерпретаторы этой системы (а затем и Windows) предлагают два режима работы: интерактивный (когда пользователь непосредственно вводит команды в командной строке и немедленно их исполняет) и пакетный (когда пользователь запускает предварительно записанную последовательность команд). Концепция обоих режимов была почерпнута из интерфейсов командной строки предшествующих ОС (таких как CP/M) и Unix-оболочек.
Командный интерпретатор в MS-DOS (а следом и в семействе Windows 9x) имеет название COMMAND.COM. Наиболее известным пакетным файлом в этих системах является AUTOEXEC.BAT, который автоматически исполняется COMMAND.COM во время загрузки операционной системы.
Семейство Windows NT (2k, XP и далее) не основаны на MS-DOS и включают интерпретатор cmd.exe, который частично совместим с COMMAND.COM. Некоторые старые возможности COMMAND.COM в нём недоступны, однако вместо них появились новые. COMMAND.COM включается в NT-подобные системы для обеспечения лучшей обратной совместимости.
Существуют и другие командные интерпретаторы, разработанные сторонними компаниями и предоставляющие расширенный синтаксис команд для пакетного программирования — например, 4DOS (англ.).
Также, существуют компиляторы пакетных файлов (например, Bat To Exe Converter), преобразующие пакетные файлы в самостоятельные исполнимые программы.
Применение
Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, которые регулярно приходится совершать пользователю компьютера: например, копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т. п.
Многие вирусы написаны в виде пакетного файла,[источник не указан 56 дней] известны даже генераторы вирусов,[источник не указан 56 дней] являющиеся пакетными файлами.
Содержание
Пакетные файлы поддерживают операторы if, goto и for (в системах семейства Windows NT его возможности существенно расширены), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).
Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно COMMAND.COM или CMD.EXE, так и обращения к внешним утилитам, существующим в виде отдельных программ (файлов .EXE либо любых других исполнимых модулей).
Пример
Пример пакетного файла, вычисляющего выражения:
@echo off :begin Cls Title Калькулятор Color 71 Echo Введите уравнение: Set /P exp= Set /A result=%exp% Title Вычислено Echo Ваше уравнение: %exp% Echo Решение: %result% Pause>nul goto begin | Выключение эха (вывода выполняющихся строк на экран). Метка, создающая цикличность программы. Очистка экрана. Изменение заголовка окна Windows на строку «Калькулятор». Изменение цвета шрифта и фона (тёмно-синий на светло-сером). Вывод строки «Введите уравнение». Создание переменной exp для хранения ввода пользователя. Вычисление результата выражения и помещение его в переменную result. Изменение заголовка окна на «Вычислено». Вывод строки «Ваше уравнение» и значения переменной exp. Вывод строки «Решение» и значения переменной result. Остановка выполнения кода до нажатия любой клавиши. Переход на метку begin, выполнение кода начнётся со следующей после метки команды. |
---|
См. также
Ссылки
- Пакетные (batch, bat) файлы WindowsFAQ
- Синтаксис некоторых команд пакетного файла Подробная справка.
- Виталий Бочкарёв. Сценарии для администрирования (31 августа 2009). Архивировано из первоисточника 27 февраля 2012. Проверено 15 декабря 2009.
- Алексей Александров. Урок bat-аники // RSDN Magazine. — 27 октября 2005. — № 2.
- Билл Стюарт. 10 советов по использованию сценариев // Windows IT Pro. — Открытые системы, ???. — № ???.
- Форум «Скриптовые языки администрирования Windows»
- Форум «Задачи на bat-файлах»