Поделиться Поделиться

Извлечение файлов из архива

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

В том случае, когда в каталоге, в который должен быть помещен извлекаемый файл, уже есть файл с тем же именем, программа будет просить у пользователя разрешения на замену файла. Пользователь должен ввести символ "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

← Предыдущая страница | Следующая страница →