Извлечение файлов из архива
Извлечение файлов из архива осуществляется с помощью команд е или х. Команда е извлекает файлы и помещает их либо в текущий каталог, либо в соответствии с путем, указанным в самой командной строке. Команда х извлекает файлы в каталог, из которого они были ранее помещены в архив, причем если такого каталога на диске нет, то он будет создан.
В том случае, когда в каталоге, в который должен быть помещен извлекаемый файл, уже есть файл с тем же именем, программа будет просить у пользователя разрешения на замену файла. Пользователь должен ввести символ "Y" для разрешения замены или "N" – для отказа. Чтобы исключить подобный диалог с программой, в командную строку можно ввести ключ -у, который соответствует ответу "Y" на все запросы о замене файлов.
Файлы, помещенные в архив с паролем, можно извлечь только при правильном указании пароля.
Пример 11.10.Извлечь из архивного файла arhtxt.arj два файла n1.txt и n2.txtв текущий каталог:
ARJ earhtxt n1.txt n2.txt
Пример 11.11.Извлечь из архивного файла arhobj.arjвсе файлы в текущий каталог: ARJ e arhobj
Пример 11.12.Извлечь из архивного файла arhobj.arjвсе файлы в каталог d:\obj:
ARJ ed:\obj\arhobj
Пример 11.13.Извлечь из архивного файла arch.arjвсе файлы в текущий каталог с указанием пароля DINO и без подтверждения запросов на замену существующих файлов:
ARJ e arch -gDINO -у
Пример 11.14.Извлечь из архивного файла arhmat.arjна диске В: все файлы и записать их в каталоги в соответствии с путями к ним:
ARJ x b:\arhmat
Удаление файлов из архива
Программа-архиватор ARJ позволяет физически удалить из архивного файла один файл или группу файлов, заданных списком. Используя ключ -q, можно предусмотреть вывод предупреждения перед удалением каждого файла из указанного списка. При удалении всех файлов из архива он сохраняется на диске как пустой файл, т.е. файл с нулевым размером.
Пример 11.15.Удаление из архивного файла arhmat.arjдвух файлов с подтверждением для каждого файла:
ARJ d -q arhmat m_012.fox m_12.prg
Сервисные функции
Сервисные функции, которыми обладает программа-архиватор ARJ, весьма разнообразны. Пользователь может выполнить тестирование архива, просмотреть на экране или вывести на принтер содержимое архива, заменить имена файлов в архиве, скопировать архив с новыми параметрами, найти текстовую строку в текстовых файлах, содержащихся в архиве, и многое другое.
Тестирование архива.Тестирование архива основано на принципе проверки кода циклического контроля (CRC – Cyclic Redundancy Check) каждого входящего в него файла. Циклический код контроля вычисляется как сумма всех кодов, представляющих информацию файла, и поэтому его часто называют контрольной суммой файла. При вычислении контрольной суммы ее максимальное значение ограничивают обычно 16 или 32 разрядами, при этом, чтобы не происходило переполнение, значение переноса из старшего разряда добавляется к значению младшего разряда.
При тестировании вновь вычисленный код циклического контроля сравнивается с кодом хранящимся в архиве. Когда целостность какого-либо файла нарушена, изменяется его CRC и возникает несовпадение. Проверке может подлежать либо весь архив, либо его часть в соответствии со списком файлов. Проверка осуществляется достаточно быстро и сопровождается выводом на экран протокола, в котором для каждого верного файла выводится значение "ОК.". Проверка защищенных паролем файлов невозможна без указания пароля.
Тестирование архива– это проверка сохранности информации каждого файла, содержащегося в архиве.
Пример 11.16.Проверить целостность всех файлов в архиве arcmat.arjна диске а:
ARJ t a:arcmat
Просмотр содержимого архива.Для просмотра содержимого архива используются две команды: l и v. Содержимое архива может быть выведено на экран или на стандартное устройство вывода. Команда l выводит сведения о каждом файле в одну строку, команда v – в две строки, в одной из которых указывается путь к файлу. При выводе на дисплей может быть предусмотрена приостановка после заполнения экрана, если используется ключ -jp. Содержимое архива выводится в виде таблицы, в которой сведения о файлах располагаются в порядке помещения файлов в архив. Сортировка таблицы не предусмотрена. Таблица может включать либо сведения о всех файлах, либо о части из них в соответствии с заданным списком файлов. Просматривать содержимое можно как обычных архивных файлов, так и самораспаковывающихся с расширением ЕХE. Для вывода сведений о файлах на принтер можно использовать перенаправление сообщений программы ARJ.
На рис. 11.1 приведено содержимое архивного файла QPR4.ARJ. Для просмотра использовалась команда: ARJ l qpr4.
Колонки на рис 11.1 содержат следующие сведения о файлах:
Filename – имя файла;
Original – размер исходного файла;
Compressed – размер сжатого файла;
Ratio – коэффициент сжатия;
DateTime modified – дата и время создания (модификации) файла;
CRC-32 – 32-битовый код циклического контроля:
Attr – атрибуты файла;
BTPMGVX – дополнительные сведения о файле.
Processing archive: QPR4.ARJ
Archive created: 1996-02-23 18:41:34, modified: 1996-02-23 18:43:46
Filename Original Compressed Ratio Date Time modified CRC-32 Attr BTPMGVX
ANALYZE.WQ1 | 0.209 | 92-10-13 | 17:34:26 | 311D59E9 | A-W В 1G | ||
MASTER.WQ1 | 0.300 | 92-09-12 | 04:00:00 | 85B7D6F6 | A-W В 1G | ||
OPTIMIZR.WQ1 | 0.394 | 92-10-13 | 17:54:56 | F1B958DE | A-W В 1G | ||
REGISTER.WQ1 | 0.361 | 92-09-12 | 04:00:00 | 3B9A3005 | A-W В 1G | ||
SAMPLE.WQ1 | 0.381 | 92-12-02 | 20:51:28 | 31508CCA | A-W В 1G | ||
ZVUKEFKT.WQ1 | 0.439 | 94-11-01 | 00:39:54 | 118CBFC3 | A-W В 1G | ||
GRAGRED.WQ1 | 0.380 | 94-11-02 | 22:50:28 | 55C06C4F | A-W В 1G | ||
COUR.SPO | 0.767 | 92-02-12 | 04:00:00 | 3D1734C3 | A-W В 1 | ||
ASCII.SOR | 0.596 | 92-09-12 | 04:00:00 | 010C0344 | A-W В 1 | ||
DUTB.SFO | 0.998 | 92-02-12 | 04:00:00 | 1D76197A | A-W В 1 |
10 files 160758 81851 0.509
Рис. 11.1.Вид экрана с отображением содержимого архивного файла qpr4.arj
В последнюю колонку таблицы выводятся признаки файлов:
В – для файлов, имеющих расширение .ВАК;
Т – тип файла (В – двоичный, Т – текстовый, D – каталог);
Р – в архиве имеется информация о пути к файлу, которую можно просмотреть командой v;
М – метод сжатия;
G – признак защиты файла паролем;
V – файл имеет продолжение на следующем томе;
X – файл имеет начало на предыдущих томах.
Пример 11.17.Вывести на экран сведения о файлах с расширением bas, хранящихся в архивном файле bas.arjс приостановкой после заполнения экрана:
ARJ I bas *.bas -jp
Пример 11.18.Вывести на экран сведения о всех файлах, содержащихся в архиве arhmat.arj на диске а:, с указанием путей к файлам:
ARJ v a:\arhmat -jp
Пример 11.19.Вывести на экран сведения о файлах, содержащихся в самораспаковывающемся архиве arxbank.exe:
ARJ l arxbank.exe
Пример 11.20.Вывести сведения о всех файлах архива arhmat.arjна принтер:
ARJ v a:\arhmat > рrn
Копирование архива с новыми параметрами.Для изменения параметров архива используется команда у, с помощью которой можно, например, преобразовать обычный архивный файл в самораспаковывающийся.
Пример 11.21.Создать самораспаковывающийся архивный файл arhmat.exeиз архивного файла arhmat.arj
ARJ у -je arhmat