Пакетный файл
Материал из Википедии — свободной энциклопедии
| Расширение файла: | .bat, .cmd (только Windows NT) |
|---|---|
| Тип формата: | Скриптовый язык программирования |
Пакетный файл (англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа — интерпретатор (как правило COMMAND.COM или CMD.EXE) читает его строка за строкой и последовательно исполняет команды. Пакетный файл — аналог shell script в Unix-подобных операционных системах.
Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера. Примерами таких операций могут служить — обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т. п. Пакетные файлы поддерживают операторы if и goto (а в системах семейства Windows NT и расширенный оператор for), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).
Пакетные файлы в DOS имеют расширение .bat; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT и OS/2, или .BTM в 4DOS или подобных оболочках.
Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно COMMAND.COM или CMD.EXE, так и обращения к внешним утилитам, существующим в виде отдельных программ (.EXE файлов). Данные программы значительно расширяют возможности пакетных файлов.
Содержание |
[править] История
Программирование пакетных файлов появилось в MS-DOS и Windows с самого зарождения этих операционных систем. Командные интерпретаторы этих систем предлагают два режима работы: интерактивный режим (когда пользователь непосредственно вводит команды в командной строке и немедленно их исполняет) и пакетный режим (когда пользователь запускает предварительно записанную последовательность команд). Концепция обоих режимов была почерпнута из различных Unix-оболочек, равно как и из других текстовых интерфейсов командной строки начала 1980-х годов, таких как CP/M.
Коммандный интерпретатор в MS-DOS имеет название COMMAND.COM. Эволюция этой ветви пакетного программирования прошла через различные версии MS-DOS к Windows 95, Windows 98 и, наконец, к Windows Me. Наиболее известным пакетным файлом в этих системах является AUTOEXEC.BAT, специальный пакетный файл, который исполняется во время загрузки операционной системы.
Новые версии Windows — Windows 2000, XP и Vista основаны не на MS-DOS, а на Windows NT. NT-подобные системы включают интерпретатор cmd.exe, который частично совместим с COMMAND.COM. Некоторые старые возможности MS-DOS недоступны, однако вместо них появились дополнительные возможности и команды. COMMAND.COM до сих пор включается в NT-подобные системы для обеспечения лучшей обратной совместимости.
Существуют различные другие командные интерпретаторы, разработанные не компанией Microsoft и предоставляющие расширенный синтаксис команд для пакетного программирования. Примером может служить 4DOS.
Также имеются различные компиляторы пакетных файлов, превращающие пакетные файлы в исполняемые программы.
[править] Использование в вирусописательстве
| В этом разделе не хватает ссылок на источники информации.
Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. |
Пакетные файлы, как и другие языки программирования, также используются для написания вирусов, хотя как правило приходится применять нетривиальные трюки для обхода ограниченности языков пакетных файлов. Однако задачу написания вирусов облегчает то, что в пакетных файлах доступен весь функционал утилит командной строки, представленных в операционной системе.
[править] Пример
Пример простого пакетного файла:
rem echo off отключает режим отображения команд на экране. @echo off rem echo. печатает пустую строку. echo. echo Здравствуй, мир! Нажмите любую клавишу для запуска программы Program.exe! pause > nul rem Запуск программы с аргументом, переданным при запуске пакетного файла Program.exe %1 rem Обработка возможной ошибки if errorlevel 1 goto error echo. echo Программа завершила свою работу! goto end :error echo. echo Произошла ошибка при работе программы :end
[править] См. также
[править] Ссылки
- Уроки bat-аники. Статья для начинающих
- Помощь в написании пакетных файлов
- Руководство по созданию и использованию пакетных файлов под Windows 98 и выше
- Ряд статей об использовании пакетных и командных файлов с наглядными примерами
- Несколько полезных примеров использования командных и пакетных файлов
- Советы и рекомендации по использованию файлов пакетной обработки с примерами
- Ускоренное выключение компьютера с помощью пакетного файла
- Описание команды at (запуска программ и пакетных файлов по расписанию)

