Пакетный файл (англ. batch file) представляет собой текстовый файл , содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. Редактировать такие файлы можно при помощи блокнота или любого другого текстового редактора. После запуска пакетного файла, программа — интерпретатор (как правило CMD.EXE или COMMAND.COM) читает его строка за строкой и последовательно исполняет команды. Пакетный файл — аналог cкриптовых файлов командной строки (shell script) в Unix-подобных операционных системах.

Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, которые регулярно приходится совершать пользователю компьютера. Примерами таких операций могут служить — обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация и т. п. Пакетные файлы поддерживают операторы if, goto и for (в системах семейства Windows NT его возможности существенно расширены), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).

Пакетные файлы в DOS имеют расширение .BAT; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT.

Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно COMMAND.COM или CMD.EXE, так и обращения к внешним утилитам, существующим в виде отдельных программ (файлов .EXE либо любых других исполняемых файлов). Данные программы значительно расширяют возможности пакетных файлов.

Некоторые из специальных команд, используемых в пакетных файлах:

call
Вызов одного пакетного файла из другого.
echo
Вывод сообщений и переключение режима отображения команд на экране.
for
Запуск указанной команды для каждого из файлов в наборе.
goto
Передача управления в отмеченную строку пакетного файла.
if
Оператор условного выполнения команд в пакетном файле.
pause
Приостановка выполнения пакетного файла и вывод сообщения.
rem
Помещение комментариев в пакетные файлы.
shift
Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла.
Hosted by uCoz