Файл
- 1 year ago
- 0
- 0
Пакетный файл ( англ. batch file ) — текстовый файл в MS-DOS , OS/2 или Windows , содержащий последовательность команд, предназначенных для исполнения командным интерпретатором . После запуска пакетного файла программа-интерпретатор (как правило, COMMAND.COM или cmd.exe ) читает его строка за строкой и последовательно исполняет команды. Пакетный файл — аналог скриптовых файлов командной строки ( 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 ( 2000 , XP и далее) не основаны на MS-DOS и включают интерпретатор cmd.exe , который частично совместим с COMMAND.COM. Некоторые старые возможности COMMAND.COM в нём недоступны, однако вместо них появились новые. COMMAND.COM включается в NT-подобные системы для обеспечения лучшей обратной совместимости.
Существуют и другие командные интерпретаторы, разработанные сторонними компаниями и предоставляющие расширенный синтаксис команд для пакетного программирования — например, 4DOS .
Также существуют компиляторы пакетных файлов (например, Bat To Exe Converter), преобразующие пакетные файлы в самостоятельные исполнимые программы .
Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, которые регулярно приходится совершать пользователю компьютера: например, копирование, перемещение, переименование, удаление файлов; работа с папками; архивация и т. п.
Вирусы и программы-шутки могут быть написаны в виде пакетного файла, известны также генераторы вирусов, являющиеся пакетными файлами (Virra 1.0, BADtch R.A.T. 0.4, и другие).
Пакетные файлы поддерживают операторы if , goto и for (в системах семейства Windows NT его возможности существенно расширены), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel ; в случае неудачного — 1 или большее значение).
Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно COMMAND.COM или CMD.EXE, так и обращения к внешним утилитам, существующим в виде отдельных программ (файлов .EXE либо любых других исполнимых модулей ).
Пример пакетного файла, вычисляющего выражения, введённые пользователем:
@echo off
chcp 1251 // если появляются нечитаемые символы, замените 1251 на 65001
cls
title Калькулятор
color 71 // если захотите поменять цвет, запустите cmd и напишите color 111 (появится справка)
:start
echo Введите выражение:
set /p exp=
set /a result="%exp%"
cls
echo Вычислено
echo Ваше выражение:%exp%
echo Результат:%result%
echo.
pause
cls
goto start
|
|
|
В другом языковом разделе
есть более полная статья
(англ.)
.
|