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

Команда APPEND реализована во всех старших версиях MS-DOS начиная с версии 3.2, в PC-DOS - с версии 3.3. В системах с двух- и более уровневой каталоговой организацией магнитных носителей часто возникает задача обеспечения возможности доступа к файлам, размещенным в каталогах, внешних по отношению к текущему, без указания имени каталога (маршрута доступа к каталогу) в явном виде. Такая задача обычно решается двумя способами.


Первый из них сводится к созданию механизма установки программ в системе. При этом в резиденте ОС (или в загружаемом образе системы на магнитном диске) создается таблица имен программ, для каждой из которых указан физический адрес ее размещения на магнитном диске. Для каждой конкретной программы такая запись появляется в процессе выполнения специальной команды инициализации. В DOS команда инициализации INSTALL появилась в версии 4.0 (см. БИТ-2).

Второй способ предполагает создание механизма, позволяющего устанавливать альтернативные маршруты доступа к файлам. В DOS такой механизм реализован с помощью команд PATH и APPEND.
Первый способ разрешает увеличить время реакции системы при загрузке программ в оперативную память, но при этом требует формирования отдельной записи для каждой устанавливаемой программы в резиденте ОС. Он предпочтительнее для программ реального времени, для часто используемых сервисных программ и т. п. Второй способ, напротив, снижает скорость загрузки программ, однако позволяет иметь в резиденте ОС только одну запись для целой группы программ. Этот способ используется, например, для обеспечения возможности доступа к утилитам DOS.
Одна из предпосылок появления команды APPEND - необходимость распространения действия механизма альтернативных маршрутов, предоставляемого командой PATH, на файлы перекрытий программ и файлы данных. Отсутствие указанного механизма во многих случаях приводило к необходимости копирования оверлейных файлов и файлов данных во все каталоги, из которых производится вызов загрузочного модуля (корневого сегмента) программы. Примером такой программы служит текстовый процессор WORDSTAR.

НАЗНАЧЕНИЕ. Команда APPEND расширяет зону действия команды PATH. Она предназначена для получения, установки или отмены альтернативных маршрутов поиска не только файлов, являющихся загрузочными модулями программ или пакетными файлами, но и файлов, отличных от типов ВАТ, BIN, ЕХЕ и СОМ. Альтернативные маршруты, установленные командой APPEND, позволяют открывать файлы, читать или записывать в них информацию. Если за командой APPEND следует только точка с запятой, то текущий список маршрутов обнуляется.
Команда APPEND без параметров вызывает вывод справки об установленных альтернативных маршрутах.

ОПИСАНИЕ. Командой APPEND в системных таблицах устанавливаются соответствующие альтернативные маршруты. Во время выполнения Каждой последующей операции открытия файла системой, в случае отсутствия специфицированного имени в текущем каталоге, будут просматриваться также и каталоги, установленные с помощью команды APPEND.
Информация об альтернативных маршрутах APPEND (как и об альтернативных маршрутах PATH) помещается в системную область связи (окружение DOS), но в отличие от PATH установка маршрутов APPEND в системной области связи производится только, если при загрузке APPEND был задан ключ /Е. В этом случае информация об установленных маршрутах APPEND может быть получена или модифицирована с помощью команды SET (см. БИТ-2).
При работе с командой APPEND необходимо помнить:
- для специфицирования указателей альтернативных мар- црутов в системе зарезервировано 128 байт;
-    команду APPEND нельзя использовать совместно с сетевой командой APPEND программ IBM PC Network и IAN;
-    файл, считанный из альтернативного каталога APPEND, по завершении операции (например, редактирования) будет сохранен в текущем каталоге, если маршрут целевого каталога не задан в явном виде;
-    ключи /X и /Е применяются только при первом выполнении команды. Это связано с, тем, что после первого выполнения программа APPEND остается резидентной. Удалить ее из оперативной памяти можно только перезагрузкой ОС. Попытка повторного запуска этой программы с измененными характеристиками приведет к конфликтной ситуации и система выведет сообщение об ошибке:
APPEND already installed (APPEND уже установлена);
альтернативные маршруты, созданные командой APPEND, реализуются для всех файлов (вне зависимости от расширения имени файла) только в случае, если доступ к этим файлам осуществляется с помощью следующих системных запросов INT 21Н:
OFH - открытие файла по блоку FCB;
11Н - нахождение первого подходящего элемента каталога по блоку FCB (если APPEND была задана с ключом /X);
23Н - получение размера файла через блок FCB;
ЗОН - открытие файла с использованием логического номера (File Handle);
4ВН - загрузка или выполнение внешней программы (если команда APPEND была задана с ключом /X);
4Н - нахождение первого подходящего файла (если команда APPEND была задана с ключом /X).
До первого использования команда APPEND - внешняя, после первого выполнения становится внутренней. Команда выполняется программой, загрузочный модуль которой записан в файле APPEND.EXE.'

ФОРМАТ.
[маршрут\APPEND \<М:маршрхт\\ {\А2:маршр\т2 ...1 [/ХИ/Е5
Спецификация d'.маршрут - каталог, содержащий файл загрузочного модуля программы APPEND. Она необходима, если этот каталог не текущий и не альтернативный.
Спецификации йХ.маршрутХ-, <Х2\маршрут2 ... - альтернативные каталоги поиска файлов.
Ключ /X означает, что APPEND применяется в качестве команды PATH. В этом случае в заданных каталогах осуществляется поиск пакетных файлов и загрузочных модулей (СОМ, ЕХЕ, ВАТ).
Ключ /Е устанавливает указанные маршруты в системной области связи (окружении DOS).
Пример 42. C:\PCC\T2\K2_2>append /е C:\PCC\T2\K2_2>append рсс C:\PCC\T2\K2_2>set
COMSPEC-CACOMMAND.COM PATH-C:\;C:\UDOS;C:\TEACH PROMPT-$p$g APPEND—PCC
С: \PCC\T2\K2_2>set append-
C:\PCC\T2\K2_2>set COMSPECCACOMMAND.COM PATH=CA;CAUD0S;CATEACH PROMPT-$p$g
CAPCC\T2\K2_2>append No App>end
CAPCC\T2\K2_2>
Пример 43.
C:\PCC\T2\K2_2>append udos
CAPCC\T2\K2_2>append dos4
CAPCC\T2\K2_2>set COMSPEC-CACOMMAND.COM PATH-CA;CAUDOS;CATEACH PROMPT—$p$g APPEND-DOS4
Пример 44.
C:\>append
C:\>append No append
C:\>append /e Invalid path or parameter
C:\>

Замечания к примерам. В примере 42 первой командой APPEND формируется резидентная часть программы, реализующей команду APPEND, в режиме коммуникации с системной областью связи. С помощью второй команды APPEND устанавливается альтернативный маршрут C:\PCC.


Следующие три команды SET и команда APPEND иллюстрируют связь APPEND с системной областью.
В примере 43 переустанавливаются альтернативные маршруты APPEND. Маршруты, заданные предыдущей командой APPEND, как видно из примера, обнуляются последней командой.
В примере 44 первая команда загружает резидент программы APPEND. В ответ на вторую команду выдается сообщение об отсутствии в системе альтернативных маршрутов APPEND . В ответ на третью - сообщение об ошибке, так как нельзя изменить режим работы APPEND после формирования ее резидента.


Обсудить вопрос в студенческом форуме

 

Сайт содержит информацию о учебном заведении и студенческой общине и не является официальным