Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPPO_chast2.doc
Скачиваний:
3
Добавлен:
16.04.2015
Размер:
172.03 Кб
Скачать

§17. Пакетные файлы. Простейшие команды.

Пакетный файл – текстовый файл, который имеет расширение .bat(.cmd)

Простейшие команды – набор команд, которые выполняются за одно обращение к командному файлу.

DIR

DEL *.txt XCOPY *.txt_A:

DIR

<пакетный файл>[<список параметров>]

Элементы списка параметров (символы, имена файлов и т.д.) представляют собой символьные переменные, разделенные "_", в кавычках.

В среде командного процессора формируются специальные переменные(%0 – %9). Замещаемые переменные %.

%1 – 1 пара и т.д.

%0 – имя командного файла

остальные переменные – элементы списка параметров.

Команды

1) SHIFT_[/n] – команда сдвига переменных, сдвиг параметров по списку.

<имя>_<n1>_<n2>_<n3>…

%0 %1 %2 %3

SHIFT%1 %2 %3 %4 – сдвиг.SHIFT%2 пер. %0 %1 остаются, сдвиг начинается с параметра /n.

2) REM_<комментарий> - вставляет в пакет командного файла комментарии.

3) [@]ECHO_ {ON,OFF, <текст>} – формирование эхо отображения в процессе вывода на экран исп. строк командного файла.

4) PAUSE– приостановка выполняемой операции.

5) CLS– отчистка экрана.

6) EXIT– завершение работы, закрытие командного процесса.

7) GOTO_<метка>

: < метка >

8) CALL<описание файла>[<список параметров>] при выполнении команды создается новый контекст (новые образы переменных).

IN1

CALL_IN1_A.C_%3

%0 %1 %2

9) IF– условное выполнение команды.

1) IF_EXIST_<описание файла>_<команда>

IF_NOT_EXIST_<описание файла>_<команда>

2) IF_[NOT]_<разделитель><строка 1> == <разделитель><строка 2>_<команда>

разделитель – любой символ, который не входит не в одну из строк.

3) IF_[NOT]_ERRORLEVEL_<число><команда>

<код возврата> - успешность или не успешность выполнения программы.

0 – успешно.

<код возврата> >= <число>

§18. Дополнительные возможности команд для cmd – файлов.

1) SETLOCAL_{enableextensionsиdisableextensions} – определение области действия переменных окружения (собственный контекст переменных окружения).

ENDLOCAL

2) %0 – %9 использование модификатора.

% ~ 5

% ~ <символ> 5

f– полностью описание файла

n– только имя

x– только расширение

p– список каталогов

z– размер (в байтах)

d– диск

a– атрибуты

t– время создания

Составной модификатор (из нескольких переменных) % ~ nx3 (имя и расширение)

3) [else<команда 2>] – командаIfможет содержать альтернативу.

IF_DEFINED_<переменная окружения>_<команда 1>_[else<команда 2>]

IF[/i]_<отношение><строка 2><команда 1>[else<команда 2>]

отношение GTR>

GTE>=

LSS<

LSE<=

NEQ<>

[/ i] – игнорирует регистр.

§19. Команда for.

Стандартная и расширенная форма

В командном файле и командной строке – по-разному.

Стандартная:

for_ %%<имя>_in(<список>)do_<команда> - используется для подстановок.

имя – одна из букв a–z, список для подстановок.

в командной строке один знак % опускается.

for_ %<имя>

for_ %%n_in (*.txt, *.doc, *.bat) do _ del %%W.

Для перемены nможно использовать расширенную модификацию:

for_ %%<имя>_in (<имя>)[/D]

for[/R] <диск>: <путь> %%<имя>do<команда>.

for[/L] %% <имя>in[<нач. значение><шаг><кон. значение>]do<команда>

список – описание текстовых файлов.

Отсчитываем каждую строчку текстового файла, для нее производим синтаксический разбор в соответствии с режимом формирования списка для подстановки и выполнения команды, куда могут входить переменные, полученные в ходе синтаксического разбора.

%%<имя> - присваивается слово (разделено либо пробелом, либо табуляцией).

[режимы разбора] to kens = 1, 2 ÷ 4 *

i← 1

j← 3

k← 4

l← 5

m← […] указывает, какие параметры должны были выделить переменные.

5 переменных, имена которых можно использовать в командной строке. %%i, %%j, %%l.

eol= <символ> - позволяет указать символ, являющийся началом строки.

skip = <число>

Число знаков с начала файла, которые будут пропущены при разборе.

delins= <строка символов> - указывает символы, которые являются разделителем.

in(<список >): список файлов, "строка", 'команда'.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]