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

8. Циклическая подстановка

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

ФОРМАТ: FOR %%<символ> IN (<список>) DO <команда>

Параметр <команда> - это любая допустимая команда DOS. В параметре <список> могут быть использованы любые имена (имена файлов или символьные строки), разделенные знаком пробела. Локальный аргумент <символ> может состоять только из одной латинской буквы. Имена из <списка> последовательно присваиваются локальному аргументу.

Примеры правильных заданий <списка>:

(*.doc)

(*.txt a*.bat *.exe)

(1 2 3 4 5 6 7)

(A B C D E F G H I J)

Пример 8. Последовательный вывод на экран содержимого всех TXT-файлов текущей директории.

@echo off

for %%f in (*.txt) do type %%f

В команду type %%f вместо %%f поочередно подставляются имена всех TXT-файлов текущего каталога.

Пример 9. Файл ABFG.bat позволяет создать четыре каталога: CAT-A, CAT-B, CAT-F, CAT-G, а также скопировать в них файлы, которые начинаются соответственно с A, B, F, G.

@echo off

for %%c in (A B F G) do md cat-%%c

for %%f in (A*.*) do copy %%f cat-A

for %%f in (b*.*) do copy %%f cat-b

for %%f in (f*.*) do copy %%f cat-f

for %%f in (g*.*) do copy %%f cat-g

Задание. Создайте командный файл ABFG.bat и проверьте его работу.

Составьте другой командный файл, с помощью которого можно удалить все каталоги, созданные файлом ABFG.bat.

9. Вызов bat-файла из другого bat-файла

Из тела одного BAT-файла можно вызвать другой. Это может потребоваться, например, если нужно в команде циклической подстановки выполнить не одну, а несколько команд. Существует два способа вызова одного командного файла из другого.

а) В командном файле пишется имя вызываемого BAT-файла (с параметрами, если они есть). При этом управление передается в вызываемый BAT-файл и после достижения его конца НЕ возвращается в главный BAT-файл. Чтобы такой возврат произошел, нужно

б) Вызывать BAT-файл с помощью команды CALL:

ФОРМАТ: CALL <имя вызываемого BAT-файла> [<список параметров>]

Задание. Создайте BAT-файл с вызовом другого BAT-файла. Сначала используйте вариант вызова без, а затем с использованием команды CALL.

5

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