Пакетний файл
Пакетний файл є свого роду файлом сценарію(скриптом) в DOS, OS/2 і Windows. Він містить набір команд, які виконуються командним інтерпретатором і зберігається як звичайний текстовий файл. Пакетний файл може містити команди, які інтерпретатор приймає в інтерактивному режимі і надає змогу створення умовних/безумовних переходів та циклів всередині пакетного файлу, наприклад «if», «for», «goto» та мітки.
Розширення файлу: |
. |
---|---|
MIME-тип: |
application/bat/x-bat/x-msdos-program, text/plain |
Тип формату: | Скриптова мова |
Подібно до JCL та інших мов для мейнфреймів, пакетні файли були створені для полегшення виконання однотипних дій через створення сценаріїв (скриптів) для їх автоматизації. Коли запускається пакетний файл, shell-програма (зазвичай COMMAND.COM або cmd.exe) зчитує та виконує його команди рядок за рядком.[1][2]
Розширення файлу .bat використовується в DOS та Windows. Windows NT та OS/2 також можуть мати розширення .cmd. Пакетні файли в інших системах мають і інші розширення, наприклад .btm в 4DOS, 4OS2, 4NT.
Особливості виконання пакетних файлів змінились. Частка особливостей, що описані у статті справджуються для усіх пакетних файлів, а решта тільки для певних версій.
ПРИКЛАД:
Щоб створити і заповнити файл прямо з командного рядка можна в його домашній теці створити BAT-файл (наприклад C.BAT) з таким текстом:
@ECHO OFF
ECHO INPUT TEXT(FOR EXIT PRESS F6):
COPY CON %1
,і зберегти цей файл.Далі відкрийте командний рядок і введіть С [ім'я файлу, який ви бажаєте створити, не забувши вказати розширення файлу(наприклад TEXT.TXT (створити текстовий файл TEXT) або SCRIPT.BAT(пакетний файл SCRIPT) без квадратних дужок].Файл буду знаходитися в домашній теці командного рядка. Щоб закінчити введення натисніть F6+Enter .
Приклад програми:
echo off
title Script
color 0a
cls
echo Copyright
set /p var=Script:
if %var%==OK goto h
exit
:h
echo TEST
Програма друкує на терміналі повідомлення "Copyright" й чекає, що надрукує користувач. Якщо напише "OK", то програма у відповідь надрукує "TEST", в інших випадках — нічого.
Цикли
Синтаксис пакетного файлу дозволяє організовувати два виду циклів:
- числовий — вказується початок, кінець та крок збільшення числа. Приклад:
for /l %%i in (1, 1, 10) do echo %%i
- послідовне сканування об'єктів — вказується список, з якого послідовно брати по одному об'єкту. Зазвичай, це файли з теки. Приклад:
for /r c:\tmp %%i in (*.htm) do ren %%i %%~ni.html
- в цьому прикладі:
- ключ /r — вказує, що потрібно просканувати всю теку c:\tmp та всі її вкладені теки;
- вираз (*.htm) — шукаємо виключно файли з розширенням .htm
- оператор do — вказує що саме потрібно зробити з кожним найденим файлом. Якщо команд декілька, то вони об'єднуються дужками. Якщо потрібно не тільки змінити назву файлу, а ще й попередньо вилучити, якщо вже такий існує:
for /r c:\tmp %%i in (*.htm)
do (
del %%~ni.html
ren %%i %%~ni.html
)
Змінні в командних файлах
Ім'я змінної має бути одна латинська буква, чутливі до регістра. Тобто %%i та %%I різні змінні.
Інтерпретатор розрізняє як виконується команда:
- якщо безпосередньо з терміналу, то змінна має починатись з одного знаку %;
- якщо з командного файлу, то з двох — %%.
Якщо змінна це файл, то модифікатори дозволяють визначити, що саме буде означати зміна:
- тільки назва файлу — %%~ni
- розширення файлу — %%~xi
- повна назва файлу разом із шляхом, якщо потрібно, то екранується — %%~fi
- тільки шлях до файлу — %%~pi
- розмір файлу — %%~zi
Версії
DOS
В MS-DOS пакетний файл запускається командного рядка, потрібно ввести ім'я файлу разом з необхідними параметрами та натиснути «Enter». Коли завантажується MS-DOS, файл AUTOEXEC.BAT виконується автоматично, так що будь-які команди, які повинні виконуватися, щоб налаштувати середовище MS-DOS для використання можуть бути розміщені в цьому файлі. Користувач, використовуючи файл autoexec, може встановлювати та змінювати системний час та дату, ініціалізувати середовище MS-DOS, завантажувати будь-які резидентні програми та ініціалізувати мережеві підключення.
Примітки
- Using batch files: Scripting; Management Services. Technet.microsoft.com. 21 січня 2005. Процитовано 30 листопада 2012.
- File extension BAT - How to open. File-extensions.org. 8 серпня 2006. Процитовано 30 листопада 2012.