3. Подготовка к работе
3. 1. Изучить теоретические сведения и составить план выполнения лабораторной работы.
3.2. Подготовить программу командного файла в соответствии с индивидуальным заданием.
Подготовить и набрать командный файл, реализующий выполнение следующих алгоритмов:
1) Освободить пространство в текущей директории, для чего удалить файлы, имеющие расширения .OBJ и .EXE, с именами, вводимыми в качестве фактических параметров, в случае существования исходных файлов с расширением .С
2) Создавать резервную копию исходных файлов. Копировать все исходные файлы с расширением .С в каталог указанном в качестве фактического параметра. Если параметр не задан - создавать в текущей директории директорию bak и копировать всё туда. Если каталог с резервной копией уже существует - спросить у пользователя разрешение перезаписать(см. команду choice)
3) Восстанавливать исходные файлы из резервной копии. Из каталога, имя которого указано в качестве формального параметра, копировать все файлы с расширение .С в текущий каталог. Если параметр неуказан то копировать файлы из директории bak в текущем каталоге. Если директории несуществует - выдавать ошибку, выводить помошь а завершить работу.
4) Слить файлы в один:
В качестве параметров принимать имена файлов и слить все эти файлы в файл имя которого задано последним. Если такой файл уже существует - запросить у пользователя разрешение на перезавись(см. команду choice). Если хоть один из файлов несуществует - завершить работу с ошибкой и выводом помощи.
5) Создать списки файлов в директориях:
В качестве параметров принимать имена директорий. В каждой директории создать файл files.bbs в котором хранится список имен файлов в этой директории отсортированный по алфавиту. При отсутствии директории - выдавать ошибку, но продолжать обработку следующей директории.
6) Создать общий списк файлов в директориях:
В качестве параметров принимать имена директорий. В каждой директории искать файл files.bbs в котором хранится список имен файлов. В текущей директории создать файл all_files.txt в котором будет хранится имена директорий и файлы в них находящиеся. При отсутствии директории – выдавать ошибку, но продолжать обработку следующей директории. Если файла files.bbs нет в директории - создать его.
7) Найти текст во всех исходных файлах:
В качестве 1-го параметра получить слово и найти его во всех файлах с расширением .C. Поиск делать в каталогах указанных в качестве последующих параметров. Если каталог отсутствует - выводить сообщени об ошибке, но продолжать обрабатывать следующий каталог. Результат выводить с помощью команды more.
8) В директории, имя которой указано в качестве 1-го параметра, создать папки с именами переданными в качестве последующих параметров. Скопировать файлы из текущей директории, имеющие расширения, совпадающие с именами подкаталогов, в подкаталоги, а все остальные файлы - в корневой каталог указанный в качестве 1-го параметра.
3.3 Требования к выполнению заданий к лабораторной работе
1. Задание выбирается таким образом
Номер варианта соответствует номеру списка группы. Если номер в списке - 9, берем вариант 1, 10 – 2 и т.д.).
2. Пакетный файл должен выводить на экран следующую информацию и заканчивать работу:
а) Ф.И.О. студента
б) номер зачетки
в) номер группы
г) номер задания
(см. пример к команде if)
3. Пакетный файл должен правильно обрабатывать отсутствие или неправильное кол-во фактических параметров. Если не указано в задании, при отсутствии параметров выдавать сообщение об ошибке и помощь по использованию пакетного файла, после чего заканчивать работу.
4. Кол-во параметров неограничено (см. команду shift), если в задании неуказанно их кол-во и последовательность.
5. Не выводить на экран лишней информации, если не указано в задании обратное (см. команду echo и пример перенаправения вывода на устройство nul для подавления вывода лишней информации на экран(пункт 1))
