The Land Banner Network
The Land Banner Network!
ИНЖЕНЕРНО ПРОИЗВОДСТВЕННОЕ ПРЕДПРИЯТИЕ "КСИ"
КОМПЛЕКС ЗАПИСИ ЦИФРОВОЙ ИНФОРМАЦИИ НА ВИДЕОКАССЕТЫ
"АрВид-1000"
ИНТЕРПРЕТАТОР КОМАНДНОЙ СТРОКИ
РУКОВОДСТВО ПРОГРАММИСТА
1994

АННОТАЦИЯ

В настоящем документе описывается интерпретатор командной строки (ИКС) AVCOMSTR.EXE для выполнения функций комплекса "АрВид-1000" из программ пользователей и при работе вне поставляемой программы-оболочки AVSHELL.
  1. ЗАПУСК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
  2. ОПИСАНИЕ КОМАНД ИКС.
    1. РАСПЕЧАТАТЬ КАТАЛОГ.
    2. РАСПЕЧАТАТЬ ДЕРЕВО.
    3. ИЗМЕНИТЬ ТЕКУЩИЙ КАТАЛОГ.
    4. CОЗДАТЬ КАТАЛОГ.
    5. УДАЛИТЬ КАТАЛОГ.
    6. УДАЛИТЬ ФАЙЛ.
    7. СКОПИРОВАТЬ ФАЙЛЫ.
    8. СКОПИРОВАТЬ ДИРЕКТОРИЮ.
    9. ПЕРЕМЕСТИТЬ/ПЕРЕИМЕНОВАТЬ ФАЙЛЫ.
    10. ПЕРЕМЕСТИТЬ/ПЕРЕИМЕНОВАТЬ ДИРЕКТОРИЮ.
    11. РАЗРЕШИТЬ АВТОВЕРИФИКАЦИЮ ПОСЛЕ ЗАПИСИ ДАННЫХ НА ЛЕНТУ.
    12. ЗАПРЕТИТЬ АВТОВЕРИФИКАЦИЮ ПОСЛЕ ЗАПИСИ ДАННЫХ НА ЛЕНТУ.
  3. ЖУРНАЛ.
  4. СООБЩЕНИЯ ОБ ОШИБКАХ.

1. ЗАПУСК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
Функции комплекса "АрВид-1000" могут вызываться в двух режимах: через программу-оболочку AVSHELL.EXE или через ИКС. В обоих случаях пользователь должен запустить программу ARVIDxx.EXE, но с различными файлами конфигурации.
Команда MS DOS для выполнения программы ARVID имеет вид:
ARVIDxx [-c<ИМЯ ФАЙЛА>] [<ПАРАМЕТР>]
ИМЯ ФАЙЛА задает имя файла конфигурации, в котором в параметре PROGRAM стоит имя программы, запускаемой как дочерний процесс. Это или стандартная оболочка AVSHELL.EXE, или интерпретатор командной строки - AVCOMSTR.EXE, или имя программы пользователя, которая вызывает ИКС для выполнения функций комплекса. По умолчанию берется файл ARVID.CFG.
ПАРАМЕТР должен задаваться только в случае запуска ИКС. Это или команда, которую необходимо выполнить, или имя файла-задания с пакетом команд, подлежащих последовательному исполнению. Имени файла-задания предшествует символ @.
Пользователь может изменить имя программы, запускаемой как дочерний процесс. В этом случае команда MS DOS имеет вид:
или ARVIDxx [-y<ИМЯ ПРОГРАММЫ] [<ПАРАМЕТР>]
AVCOMSTR.BAT [<ПАРАМЕТРЫ>]
ИМЯ ПРОГРАММЫ задает имя запускаемой программы. В этом случае значение параметра PROGRAM игнорируется и пользователь может иметь только один файл конфигурации. Смысл значения ПАРАМЕТР не изменился.
При вызове ИКС из программы пользователя для порождения дочернего процесса в терминах MS DOS необходимо выполнить команду вызова типа:
AVCOMSTR.EXE <ПАРАМЕТР>
где ПАРАМЕТР имеет тот же смысл что и при запуске программы ARVIDxx.
Ниже приведен пример вызова ИКС на языке С с использованием библиотечной функции "spawnl": #include <process.h> #include <stdio.h> main() { char *nameProg = "avcomstr.exe"; // имя программы // выполняемые команды const char *test1 ="mkdir tp:\\temp"; const char *test2 = "copydir e:\\black tp:\\temp"; const char *test3 = "copydir e:\\string tp:\\temp"; const char *test4 = "dir tp:\\/s/o:e/fe:\\comstr\\dt.lst"; // создание командного файла из команд test1, test2,test3. FILE *f; f = fopen("command.tst","wt"); fprintf(f,"%s\n%s\n%s\n",test1,test2,test3); fclose(f); // вызов <B>ИКС</B> для выполнения команд файла СOMMAND.TST spawnl(P_WAIT,nameProg,nameProg,"@command.tst",NULL); // вызов <B>ИКС</B> для выполнения команды test4 spawnl(P_WAIT,nameProg,nameProg,test4,NULL); return 0; } Созданный этой программой командный файл COMMAND.TST можно было бы выполнить, набрав команду:
ARVIDxx @COMMAND.TST
если в файле ARVID.CFG задано значение PROGRAM = AVCOMSTR.EXE.

2. ОПИСАНИЕ КОМАНД ИКС.
Предлагаемый набор команд обеспечивает пользователю удобное использование функций комплекса "АрВид-1000". Внешне они напоминают команды MS DOS. Главное отличие заключается в следующем: когда пользователь формирует команду, он не знает какой буквой обозначить ленту. Поэтому для обозначения ленты используется обозначение tp:. Следует учитывать, что во время одного сеанса работы менять кассеты нельзя. Замена кассеты возможна только после выхода из программы ARVID с поcледующим ее перезапуском.
2.1. РАСПЕЧАТАТЬ КАТАЛОГ.
Формат команды:
DIR [УСТРОЙСТВО][ПУТЬ][ФАЙЛ][/F<ИМЯ>][/S][/W][/B][A:<ТA>][/O:<ТO>]
Ключи: Для распечатки каталога ленты, записанного на диске, вместо УСТРОЙСТВО необходимо указать _ИМЯ ЛЕНТЫ:. В этом случае лента не монтируется и вставлять ее в ВМ нет необходимости.
2.2. РАСПЕЧАТАТЬ ДЕРЕВО.
Формат команды: Для распечатки дерева ленты, записанного на диске, вместо УСТРОЙСТВО необходимо указать _ИМЯ ЛЕНТЫ:. В этом случае лента не монтируется и вставлять ее в ВМ нет необходимости.
2.3. ИЗМЕНИТЬ ТЕКУЩИЙ КАТАЛОГ.
Формат команды:
2.4. CОЗДАТЬ КАТАЛОГ.
Формат команды:
2.5. УДАЛИТЬ КАТАЛОГ.
Формат команды:
2.6. УДАЛИТЬ ФАЙЛ.
Формат команды:
2.7. СКОПИРОВАТЬ ФАЙЛЫ.
Формат команды:
2.8. СКОПИРОВАТЬ ДИРЕКТОРИЮ.
Формат команды: Копирование директории осуществляется с входящими в нее поддиректориями.
2.9. ПЕРЕМЕСТИТЬ/ПЕРЕИМЕНОВАТЬ ФАЙЛЫ.
Формат команды: Перемещение файлов осуществляется только в пределах одного устройства.
2.10. ПЕРЕМЕСТИТЬ/ПЕРЕИМЕНОВАТЬ ДИРЕКТОРИЮ.
Формат команды: Перемещение директории осуществляется с входящими в нее поддиректориями и только в пределах одного устройства.
2.11. РАЗРЕШИТЬ АВТОВЕРИФИКАЦИЮ ПОСЛЕ ЗАПИСИ ДАННЫХ НА ЛЕНТУ.
Формат команды для автоверификации по CRC.
VERIFY ON.
Формат команды для автоверификации сравнением информации на ленте и диске.
VERIFY COMP.
2.12. ЗАПРЕТИТЬ АВТОВЕРИФИКАЦИЮ ПОСЛЕ ЗАПИСИ ДАННЫХ НА ЛЕНТУ.
Формат команды:
VERIFY OFF.

3. ЖУРНАЛ.
Ход выполнения задания записывается ИКС в специальном файле с именем AVCOMSTR.LOG. Он формируется в каталоге, определяемом переменной окружения AVDIR или в текущем, если она не о пределена. Информация записывается в конец существующего файла AVCOMSTR.LOG. А если его нет, то ИКС создает его автоматически.
В журнал ИКС заносит следующую информацию:

4. СООБЩЕНИЯ ОБ ОШИБКАХ.
ИКС завершает работу с кодом возврата. Он информирует пользователя об успешном выполнении или обнаруженной ошибке. Ниже перечислены возвращаемые интерпретатором коды возврата.
0 - успешное завершение работы;
2 - файл или каталог не найдены;
5 - доступ запрещен. Этот код возврата может возникнуть в следующих случаях: 8 - не хватает оперативной памяти;
12 - недопустимая операция;
15 - устройство отсутствует;
17 - устройство не то же;
35 - файл уже существует;
40 - ошибка ввода/вывода;
49 - при выполнении команды возможна бесконечная рекурсия;
50 - при выполнении команды возможно предудаление копируемой директории;
51 - удаление корневой директории;
52 - копирование(перемещение) в исходный каталог;
55 - неправильное имя;
56 - ошибка открытия временного файла при переходе в режим отложенного копирования;
57 - ошибка записи во временный файл отложенного копирования;
58 - ошибка записи во временный файл оглавления;
59 - недопустимая команда;
60 - ошибка в команде;
61 - ошибка в имени файла;
62 - ошибка при монтировании ленты;
63 - драйвер не загружен;
64 - ИКС запущен без параметров;
65 - версии программы и драйвера не совпадают;
73 - операция прерывалась клавишей TAB;
74 - операция прервана пользователем;
75 - неверная таблица распределения файлов;
76 - прерывание по тайм-ауту;
77 - неверные параметры для программы AVCOPIER;
78 - неудачная запись;
79 - неудачное чтение;
80 - не хватает оперативной памяти;
81 - программа AVCOPIER не найдена;
82 - канал выключен;
83 - канал не свободен;
84 - отсутствует блок параметров ленты;
85 - блок параметров ленты уже существует;
86 - отсутствует таблица позиционирования;
87 - таблица позиционирования уже существует;
88 - неизвестный формат ленты;
89 - оглавление ленты не найдено;
90 - недоступный формат для записи;
91 - сектор не найден;
92 - найдена информация, не относящаяся к данной ленте;
93 - операция прервана пользователем;
94 - за предполагаемым концом данных еще есть информация;
95 - при записи данных на ленту не найдено оглавление ленты;
96 - операция прервана пользователем;
97 - операция прервана пользователем;
98 - отсутствует сквозная трансляция при записи;
99 - ошибка обновления оглавления на диске.

Скачать

Первая страница