2.15. Рассмотрим один из вариантов использования команды for. Чтобы отобразить на экране содержимое всех файлов, имеющих разрешение.bat или.cmd в текущем каталоге, создадим следующий файл:
echo on
for %%f in (*.cmd *.bat) do type %%f
pause
В предыдущем примере каждый файл с расширением.cmd или.bat в текущем каталоге будет подставляться вместо переменной %%f, пока не будет выведено содержимое всех файлов.
2.16. Разработайте два пакетных файла. Номер варианта задает преподаватель. При создании протокола в задании используйте перенаправление в файл.
Таблица №1 вариантов для разработки пакетных файлов.
№ варианта | Задание |
1. | a) Написать пакетный файл, удаляющий из текущего каталога все файлы с расширением.TMP. Имена удаляемых файлов выводить на экран. b) Написать пакетный файл, который будет проверять в каталогах, указанных в качестве параметров, наличие файлов с расширением.TMP и удалять их. Если пути поиска не заданы, вывести сообщение. Создать протокол удаляемых файлов. |
2. | a) Написать пакетный файл, будет копировать из текущего каталога все файлы с расширением.DRV в корневой каталог съемного диска и записать в файл протокола дату и время, когда были скопированы файлы. b) Написать пакетный файл, который будет копировать из текущего каталога все файлы с расширением.DRV, кроме одного файла, указанного в качестве второго параметра командной строки, в каталог, указанный первым параметром. Если имя каталога, в который должно производиться копирование, не задано, то вывести сообщение об этом и прервать выполнение файла. |
3. | a) Написать пакетный файл, который будет копировать все файлы из корневого каталога диска С: в корневой каталог съемного диска и записать в файл протокола дату и время, когда были скопированы файлы. b) Написать пакетный файл, который будет проверять наличие в указанном в качестве первого параметра каталоге файлов. Если файлы там есть, копировать их в указанные в качестве остальных параметров каталоги. Если копирование прошло успешно, очистить исходный каталог. Проверять наличие параметров в командной строке, выводить сообщения об ошибках. |
4. | a) Написать пакетный файл, который будет копировать из текущего каталога все файлы с расширением.txt в корневой каталог съемного диска. Переписывать только те файлы, которые новее одноименных в каталоге-приемнике. b) Написать пакетный файл, который будет копировать из текущего каталога все файлы с расширением.txt, кроме одного файла, указанного в качестве первого параметра командной строки, в каталог, указанный вторым параметром. Переписывать только те файлы, которые новее одноименных в каталоге-приемнике. Если произошла ошибка копирования, выдать сообщение и прервать выполнение файла. |
5. | a) Написать пакетный файл, который будет записывать содержимое текущего каталога в файл, который будет создан в корневом каталоге съемного диска. Установить для созданного файла атрибут «Только для чтения». b) Создать пакетный файл, который выводил бы содержимое каталогов, указанных в качестве параметров командной строки в файл протокола, находящийся в каталоге, заданном качестве первого параметра. Проверять наличие параметров в командной строке, выводить сообщения об ошибках. |
6. | a) Написать пакетный файл, который будет копировать из текущего каталога все файлы с расширением.DRV в корневой каталог съемного диска. Имена копируемых файлов выводить на экран. b) Написать пакетный файл, который будет копировать из текущего каталога все файлы с расширением.DRV в заданные в качестве параметров каталоги. Записывать в файл logcopy.txt имя каждого копируемого файла и результат выполнения операции для него. Файл logcopy.txt должен быть примерно таким: OK: а.txt Error: b.txt OK: с.txt |
7. | a) Написать пакетный файл, который будет проверять, находиться ли файл 111.txt в корневом каталоге съемного диска. Если файл найден, выводить сообщение на экран. b) Написать пакетный файл, который будет осуществлять поиск файла, заданного в качестве первого параметра в каталогах, заданных в качестве остальных параметров. Вести протокол поиска, записывая, в каких каталогах обнаружен файл. Файл протокола сделать скрытым. Если файл обнаружен хотя бы раз, вывести сообщение на экран. |