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

Контрольные вопросы к лабораторной работе

  1. Каковы основные правила работы с файлами в операционной системе MS-DOS?

  2. Какие возможности предоставляет операционная система MS-DOS для работы с файлами?

  3. Какие переменные языка Т.Паскаль служат для работы с регистрами и прерываниями?

  4. Для чего необходимы и каковы основные возможности предоставляемые дескриптором?

  5. Каковы правила реализации модуля на языке Т.Паскаль?

3. Лабораторная работа №2. Применение дескрипторно-ориентированных файловых функций

Цель работы: изучение методов работы с утилитами командной строки. Анализ возможностей утилиты MS-DOS COPY.

Задание: разработать программу- утилиту копирования файлов. Утилита должна работать аналогично команде COPY MS-DOS и позволять производить копирование одного или нескольких файлов в другой каталог.

Общие теоретические сведения

Команда COPY ОС MS-DOS имеет большое количество параметров и позволяет производить копирование файлов в различных режимах.

В качестве параметров командной строки могут быть использованы:

  • Источник

  • Результат.

Источник - Имя копируемого файла (файлов).

Результат - Папка для размещения и/или имя создаваемого файла.

Полный список параметров команды COPY:

C:\>copy /?

Копирование одного или нескольких файлов в другое место.

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B]

[+ источник [/A | /B] [+ ...]] [результат [/A | /B]]

Источник Имена одного или нескольких копируемых файлов.

/A Файл является текстовым файлом ASCII.

/B Файл является двоичным файлом.

/D Указывает на возможность создания зашифрованного файла

Результат Каталог и/или имя для конечных файлов.

/V Проверка правильности копирования файлов.

/N Использование, если возможно, коротких имен при копировании файлов, имена которых не удовлетворяют стандарту 8.3.

/Y Подавление запроса подтверждения на перезапись существующего конечного файла.

/-Y Обязательный запрос подтверждения на перезапись существующего конечного файла.

/Z Копирование сетевых файлов с возобновлением.

Ключ /Y можно установить через переменную среды COPYCMD. Ключ /-Y командной строки переопределяет такую установку.

По умолчанию требуется подтверждение, если только команда COPY не выполняется в пакетном файле. Чтобы объединить файлы, укажите один конечный и несколько исходных файлов, используя подстановочные знаки или формат "файл1+файл2+файл3+...".

Как видно из приведённого списка параметров команда COPY позволяет произвести копирование, как отдельных файлов, так и группы файлов удовлетворяющих маске. Также команда позволяет осуществлять копирование файлов с проверкой правильности копирования.

В качестве примера реализации внешних команд ОС MS-DOS студентам предлагается написать программу, включающую в себя некоторые из возможностей стандартной программы копирования.

Варианты вызова:

  1. имя_программы *.txt c:\ (копирование всех файлов удовлетворяющих маске из одного каталога в другой с сохранением имён файлов);

  2. имя_программы a.txt+b.txt+c.txt (второй и последующие файлы копируются в первый файл, т.е. в первый файл дописывается содержимое второго файла, третьего файла и т.д.);

  3. имя_программы a.txt+b.txt c:\c.txt (создаётся файл, указанный во втором параметре и в него заносится содержимое первого файла + содержимое второго файла и т.д.);

  4. имя_программы a.txt c:\b.txt (копирование с переименованием файла указанного в первом параметре в каталог указанный во втором);

  5. имя_программы a.txt c:\ (аналогично варианту №1 с тем исключением, что в этом случае копируется только один файл);

  6. имя_программы a.txt b.txt (создаётся копия первого файла с именем указанным как второй параметр). Поскольку каталог не указан, копирование происходит в текущем каталоге.

Во всех приведённых случаях вызов осуществляется через командную строку и «имя_программы» является именем запускаемого файла программы написанной в рамках лабораторной работы и не использующей стандартную команду COPY для копирования файлов. Для случая, когда в качестве имени файла указан знак ‘*’ (копирование по маске) необходимо использовать процедуры языка Т.Паскаль FindFirst (поиск первого файла удовлетворяющего маске) и FindNext (поиск следующих файлов удовлетворяющих маске).

Копирование необходимо выполнить путём последовательной записи всех данных из исходного файла в результирующий файл посредством процедур BlockRead и BlockWrite.