Пакетный файл (англ. batch file, в просторечии - пакетник, батник, батничек) - текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором.
Пакетные файлы полезны для автоматического запуска приложений. Основная область применения - автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера. Примерами таких операций могут служить - обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т.п.
Пакетные файлы в DOS имеют расширение .bat; для других операционных систем они могут иметь другие расширения - например, .CMD в Windows NT и OS/2.
После запуска пакетного файла, программа - интерпретатор (как правило, COMMAND.COM или CMD.EXE) читает его строка за строкой и последовательно
исполняет команды.
Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно COMMAND.COM или CMD.EXE, так и обращения к внешним утилитам, существующим в виде отдельных программ (.EXE файлов). Использование внешних программ значительно расширяет возможности пакетных файлов.
Пакетные файлы поддерживают команды передачи управления, что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд.
____________________________________________
Передача управления в пакетных файлах может быть осуществлена двумя способами:
простой вызов
1) Пусть у нас есть 2 пакетных файла – 1.bat и 2.bat.В тексте файла 1 вызываем файл 2:
« …
{команды}
…
2.bat»
В этом случае выполняются команды файла 1, затем команды из файла 2, после чего происходит
остановка. Если после вызова файла 2.bat в файле 1 содержатся какие-либо команды, они выполняться
не будут.
2) вызов при помощи команды call
Пусть у нас есть 2 пакетных файла – 1.bat и 2.bat.В тексте файла 1 вызываем файл 2:
« …
{команды}
…
call 2.bat
…»
В этом случае выполняются команды файла 1, затем команды из файла 2, после чего продолжается
выполнение команд файла 1