Пакетные файлы (bat)

Пакетные файлы — это программа, состоящая из команд MS-DOS. Имеют специфические команды, предназначенные для организации условий цикла.
Синтаксис: <имя файла> [<параметр>]
Все параметры разделяются пробелом.

Вводные параметры и переменные
Для подстановки входных параметров в пакетном файле используется конструкция %0, %1,…,%9. %0 — имя пакетного файла. %1,…,%9 — входные параметры. Чтобы подставить параметры начиная с 10 следует нажать shift. Клавиша сдвигает номера параметров таким образом 0-й остается на месте, а все остальные параметры уменьшают номер на 1, при этом 1 теряется.
Все переменные, используемые в MS-DOS образуют окружение:
SET – список переменных окружений.
SET <переменная> = <значение>
SET <переменная> = — удаляет переменную из окружения.

Пример echo Ваша фамилия: %familia%.
Размер окружения строго фиксирован, он может составлять 160кб до нескольких килобайт. Каждая программа при запуске получает копию окружения и может ее использовать в своих целях.

Пример
echo ваша фамилия: %familiya%
Размер окружения строго фиксирован, он может составлять от 160байт до несколольких килобайт. Каждая программа при запуске получает копию окружения и может ее использовать в своих нуждах.

Общие команды
rem <коментарий> — текст коментария
@<команда> — вызвать команду не выдавая ее названия на экран.
echo off — отключить выдачу названий для всех команд.

Оператор перехода в пакетных файлах:<метка> — установить метку перехода в пакетном файле.
goto<метка> — перейти в метку

Пример:
@echo off
:m
echo «Привет!»
goto m.

Условный оператор в пакетном файле

if [not] errorlevel <число> <команда> — выполнить указанную команду, если код возврата последней выполненной команды >= чем указанное число.

if [not] «строка 1″ == «строка 2″ <команда> — выполнить команду если строки совпадают.

if [not] exist <имя файла> <команда> — выполняет команду если файл существует.

Цикл с параметром в пакетном файле

for %<параметр> in (<шаблон>) do <команда> — выполняет команду для всех значений параметра, являющихся именами файлов подходящих под заданный шаблон.
Пример: Распечатать имена txt-файлов
for %i in (*.txt) do echo %i

Вызов пакетного файла

Пакетный файл можно вызвать из другого 2-мя способами:
Прямой вызов (без возврата):
a.bat
…..
…..
b.bat
тело b.bat
…..
…..
конец b.bat
продолжение a.bat не выполняется.

Процедурный вызов (с возвратом):
a.bat
…..
…..
call b.bat
тело b.bat
…..
…..
продолжение a.bat
…..
…..
конец a.bat

. пакетный файл размещение
. bat файл входные параметры
Комментирование и размещение ссылок запрещено.