Фигурнов В. Э. Ф49 ibm pc для пользователя. Изд. 7-е, перераб и доп

Вид материалаКнига

Содержание


Глава 33. Работа с архивными файлами в DOS
Глава 33. Работа с архивными файлами в DOS
Подобный материал:
1   ...   41   42   43   44   45   46   47   48   ...   87
Глава 33. Работа с архивными файлами в DOS


PKUNZIP ARJ -V L имя-архива имя-архива Замена-файлов)... Замена-файлов)...


Примеры


Приостановка выдачи

результатов


Пожранный вывод

Х оглавления


Примеры


Здесь имя-apxuea задает имя архива, откуда извлекаются файлы. Если расши-

рение у имени архивного файла не указано, подразумевается .ZIP для про-

граммы PKUNZIP и ARJ Ч для программы ARJ. В имени архива можно упот-

реблять символы * и?Чв этом случае обрабатывается несколько архивных

файлов. Имена-файлов указывают, для каких файлов из архива требуется

вывести информацию. При задании имен файлов можно использовать симво-

лы* и?. По умолчанию подразумеваются все файлы, имеющиеся в архиве.


pkunzip a:\archive -v Ч вывод информации о файлах в архиве A:\ARCHIVE.ZIP;

arj I * ".txt Ч вывод информации о файлах с расширением .ТХТ из всех архивных файлов


типа .ARJ из текущего каталога.


После ввода команды программы начинают выдачу результатов на экран. Вывод инфор-

мации можно приостановить нажатием комбинации клавиш ГсТ?Г)Г^). Повторное нажа-

тие j^Ctrllpr) возобновит вывод на экран. Завершить работу программы можно, нажав

CCTTDIT).


Однако для архивных файлов, содержащих большое количество файлов, оглавление

может быть выдано на экран настолько быстро, что Вы не успеете его прочесть или

нажать [Ctrl)n-D. Поэтому целесообразно использовать поэкранный вывод оглавления

архива.


Для программы ARJ поэкранный вывод оглавления обеспечивается указанием режимов

-JP -JYY. В этом случае после заполнения экрана строками файла в нижней строке

экрана выводится сообщение "More", и Вы можете нажать следующие клавиши: Q)

или (Enter] Ч вывести следующий экран; QQ Ч окончить вывод данного файла; СА) Ч

продолжить вывод данного файла без пауз: (0]Ч прекратить вывод файлов на экран.


Для программы PKUNZIP можно использовать средства перенаправления ввода-вывода

DOS, например:


PKUNZIP -V имя-архива {амена-файлов)... \ MORE


В этом случае оглавление архива будет записано во временный файл на диске, а затем

поэкранно выведено программой MORE. Для выдачи очередного экрана надо нажимать

любую клавишу, для окончания вывода Ч (Ctrl](T).


arj I archive Чjp Чjyy Ч поэкранный вывод оглавления архива ARCHIVE.ARJ из текущего


pkunzip Чv a:\myzip

AAMYZIP.ZIP.


каталога:

р Чv a:\myzip ; more Ч поэкранный вывод информации о файлах в архиве


Сортировка

информации

о файлах


Выдача оглавления в

файл или на принтер


Формат выдачи

оглавления


Программа PKUNZIP позволяет выводить оглавление архива в отсо-

ртированном виде. Наиболее часто используется вывод оглавления в алфа-

витном порядке. Для этого надо указать режим -VN, например, PKUNZIP

A:\ARCHIVE -VN Ч вывод оглавления архива A:\ARCHIVE.ZIP. Оглавление

упорядочено в алфавитном порядке имен файлов.


Информацию о файлах, находящихся в архиве, можно вывести не на экран, а в файл

или на принтер. Для этого следует в конце команды написать:


> имя-файла Ч для вывода в файл;

> PRN Ч для вывода на принтер.


Формат выдачи оглавления у разных программ различается. Вот как выводят

оглавление архива программы PKUNZIP:


Searching ZIP: HELP.ZIP

Length Method Size Ratio


CRC-32 Attr


54

228252

346901

34881

465408


Stored

A-Xtra

A-Xtra

A-Xtra

A-Xtra


54

114051

179753

16751

212661


0%

51%

49%

52%

55%


22-01-91

16-01-91

11-06-91

01-06-90

16-01-91


16:46

16:18

00:00

01:10

16:23


8aa099b4

676b9463

ec660077

de2456a4

455a3fa3


--Хw-


--w-


--w-


--w-


DIRINFO

DOS. H!

DOS50. H!

HELP. EXE

TECH. H!


1075496 523270 52%


В столбцах выведенной таблицы располагается следующая информация:


Часть 7. DOS для опытного пользователя


Length

Method

Size

Ratio

Date

Time

CRC-32

Attribute


размер исходного файла;


метод сжатия файла при помещении его в архив,-

размер файла после сжатия;


процент места в архиве, сохраненного благодаря сжатию файла:

дата создания или последней модификации исходного файла;

время создания или последней модификации исходного файла;

код циклического контроля файла;


атрибуты файла (s Ч системный, h Ч спрятанный, w Ч для чтения

и записи, г Ч только для чтения, * Ч файл защищен паролем);

имя файла.


При использовании для вывода оглавления режима ЧVB (а не -V) сведения о

коде циклического контроля и атрибутах файла не выводятся, что оставляет

больше места для вывода имени файла.


Программа ARJ выводит информацию об оглавлении архива совсем по-

другому:


Processing .archive: HELP.ARJ

Archive dato : 1993-04-06 11:23:08

Fileriaine Original Coinpresscd Ratio DateTime modified CRC-32


AttrBTPMGVX


DIRINFO

DOS .H!

DOS50.H'

HELP. EXE

TECH.H!


54 54 1. 000 91-01-22 16: 46: 06 8AA099B4 A--W В 0

228252 115218 0 505 91-01-16 16: 18: 48 676B9463 A--W В 1

346901 181720 0. 524 91-06-11 00: 00: 00 EC660077 A--W В 1

34881 16795 0. 481 90-06-01 01: 10: 26 DE2456A4 A--W В 1

465408 214717 0. 461 91-01-16 16: 23: 50 455A3FA3 A--W В 1


5 files


1075496


528504 0.491


Вывод информации

о каталогах


Примеры


В столбцах этой таблицы располагается следующая информация:


Filename

Original

Compressed

Ratio

DateTime


CRC-32

Attr


BTPMGVX


имя файла;


размер исходного файла;

размер файла после сжатия;


отношение размера файла в архиве к исходному размеру:

дата и время создания или последней модификации исходного файла

(дата выводится в формате ГГ-ММ-ДД);

. код циклического контроля файла;


атрибуты файла (А Ч файл надо архивировать, S Ч системный, Н Ч

спрятанный, W Ч для чтения и записи, R Ч только для чтения):

прочие сведения о файле: В Ч файл в архиве является устаревшей

копией, Т Ч тип файла (В Ч двоичный, Т Ч текстовый, D Ч ката-

лог), Р Ч в архиве имеются, сведения о пути к файлу, М Ч номер ме-

тода сжатия для данного файла, G Ч файл в архиве зашифрован па-

ролем, V Ч файл продолжается в следующем томе архива, Х Ч на-

чало файла содержится в предыдущих томах архива.


Программы PKZIP и ARJ позволяют запоминать в архивном файле сведения о

каталогах, в которых располагались помещенные в архив файлы. Эти сведе-

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


Имя файла вместе с указанием пути к нему может быть достаточно длинным.

Поэтому для вывода оглавления с выдачей сведений о каталогах предусмотре-

ны специальные режимы:


Х у программы ARJ Ч команда V (она отличается от команды L тем, что выдает ин-

формацию о каждом файле в две строчки: в первой содержится имя файла с указа-

нием пути к нему, а во второй Ч остальные сведения о файлах);


Х у программы PKUNZIP Ч режим -VB (или -VNB). При этом на экран не выво-

дятся сведения о коде циклического контроля и атрибутах файла, что оставляет

больше места для вывода имени файла. Заметим, что программы PKZIP и PKUNZIP

при выводе оглавления архива заменяют в именах файлов символ "\", разделя-

ющий имена файлов и каталогов, на символ "/".


pkunzip a:\archive Чvnb Ч вывод оглавления архива A:\ARCHIVE.ZIP. Оглавление упо-

рядочено в алфавитном порядке имен файлов; код CRC и атрибуты файлов не выво-

дятся, так что остается достаточно места для вывода путей к(райлам:


arj v archive Чjp Чjyy Ч поэкранный вывод оглавления архива ARCHIVE.ARJ из текущего


каталога. Информация о каждом файле из архива выводится в две строчки.


364 Часть 7. DOS для опытного пользователя


Х повреждения из-за воздействия вирусов, неосторожных действий пользователей,

неправильно работающих программ и т.д.


'i.ini.i Х!U!'1-


В архивном файле содержится информация двух видов: упакованная информация поме-

щенных в архив файлов и справочные сведения об этих файлах (оглавление архива).


.чрхныоп Повреждения данных, принадлежащих какому-либо файлу, приводят только к невоз-

можности восстановления этого файла. Но повреждение в оглавлении архива может

привести к тому, что весь "остаток" архива будет использовать невозможно.


il:)^Хi>^Х>^'^^"ll"Х! Х

^ЛiХ^ХХХ^.!-. i',i, 'lХ"l:^


Если данные какого-либо файла в архиве повреждены, то при просмотре оглавления

архива никаких данных об ошибке выведено не будет. Это и не удивительно Ч при

просмотре оглавления читается только оглавление архива, а не содержимое файлов.

Но при проверке архива или извлечении файлов из архива программы PKUNZIP и ARJ

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

если этот код не совпадает с записанным в оглавлении архива. Вот эти сообщения:


PKUNZIP Ч Warning! File fails CRC check!

ARJ Ч Bad file data, CRC error!


По окончании проверки архива или извлечения файлов из архива на экран выводится

сообщение о наличии ошибок в архиве:


PKUNZIP Ч имя-архива has errors!

ARJ Ч Found ... errors!


При извлечении сбойных файлов из архива программа PKUNZIP оставляет их на диске

(обычно они ни к какому использованию не пригодны), а программа ARJ Ч удаляет.

Впрочем, программа ARJ может не удалять извлеченные из архива сбойные файлы, для

этого ей надо указать режим -JR.


kчif)^;ЛJ!^ЧI^-!''l 1!


При повреждении оглавления .ARJ-архивов Вы можете считать, что Вам крупно не

повезло. Обычно при просмотре оглавления, тестировании или извлечении файлов из

01 .':.пик-" 1ИИ ;1;).\И^.'1 такого архива на экран в какой-то момент выводится сообщение типа


Can't read file or unexpected end of file

(He могу прочесть файл или неожиданный конец файла)


и остаток архива уже никак использовать не удастся. Впрочем, при знании структуры

.ARJ-файлов (она описана в документации, поставляемой с этим архиватором) опыт-

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

из архива. Однако занятие это не из приятных.


А с .ZIP-файлами надежды на восстановление данных из архива гораздо больше. Дело

в том, что в .ZIP-архивах оглавление записывается дважды: один раз сведения о каж-

дом файле из архива содержатся перед данными этого файла, а второй раз Ч в конце

архива. Поэтому при большинстве повреждений .ZIP-архивов удается восстановить

почти все данные из архива. Если программы PKZIP или PKUNZIP обнаруживают, что

оглавление архива повреждено, они выводят на экран сообщение:


имя-архива: Error in ZIP, use PKZipFix!

(ошибка в архиве, используйте программу PKZipFix)


Программы PKZlpi-ix


Для восстановления информации из поврежденных архивных файлов вместе с про

граммами PKZIP и PKUNZIP поставляется специальная программа PKZIPFIX. Она по

зволяет восстанавливать .ZIP-архивы с поврежденным оглавлением. Формат вызова:


PKZIPFIX имя-архивного-файла


Эта программа создает в текущем каталоге архивный файл PKFIXED.ZIP, содержащий

всю информацию, которую удалось восстановить из исходного архивного файла. Реко-

мендуется извлечь из него все файлы с помощью программы PKUNZIP, а затем снова

упаковать их с помощью программы PKZIP. Другой вариант Ч проверить содержимое

архива (режим -Т программы PKUNZIP), удалить из него поврежденные файлы

(режим ЧD программы PKZIP) и затем присвоить архиву исходное имя.


33. 1 1. Архивация на дискеты


При создании архивов на дискетах возникают дополнительные сложности. Размер дис-

кет ограничен, и большие комплексы программ даже в сархивированном виде могут

просто не поместиться на одной дискете. Кроме того, могут возникнуть трудности при


^ Глава 33. Работа с архивными файлами в DOS


Vici.'wn-i" K'rr^nori"

л,"1у! l3pi,'Mb!i аплг-

файлов


Примеры


Списобы архивации

болылих комплексов

(Ьанииы


модификации архивных файлов, располагающихся на дискетах. Здесь мы изложим ре-

комендации, которые помогут Вам в этих случаях.


При изменении архивного файла программы архивации (упаковки) записывают резуль-

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

архивного файла при этом не удаляется, так как это может привести к потере данных.

Обычно промежуточный файл создается на том же диске, что и модифицируемый ар-

хивный файл. Поэтому при модификации архивного файла необходимо как минимум

столько места, сколько занимают вместе исходный вариант архивного файла и вари-

ант, полученный после модификации. При работе с жестким диском это, как правило,

не вызывает проблем, но при работе с дискетой на ней может не хватить места.


Для разрешения этой проблемы программы архивации позволяют назначить каталог, в

котором будут создаваться временные файлы. Целесообразно при модификации архива

на дискете назначить этот каталог на жестком диске Ч это не только предотвратит

нехватку места на дискете, но и значительно ускорит модификацию архива. Соответ-

ствующие режимы:


PKZIP Ч режим -Вимя-каталога

ARJ Ч режим -^имя-каталога


Эти режимы могут употребляться при любых видах модификации архивных файлов

(добавлении файлов в архив, удалении файлов из архива и т.д.).


pkzip Чf Чbd: a:docarc *.doc Ч обновление архива DOCARC.ZIP на дисководе А: Ч в

него добавляются новые версии файлов с расширением .DOC из текущего каталога.

Промежуточный файл программы PKZIP располагается на дисководе D: :


arj a Чwe: a:archive ".doc Ч добавление к архиву A:ARCHIVE.ARJ файлов с расширени-

ем .DOC из текущего каталога. Промежуточный файл при архивации располагается на

дисководе С:.


3tiMc'4dHn(.' При задании каталога для временных файлов не на том диске, на котором

находится исходный архивный файл, возможна ситуация, когда в компьютере произошел

сбой (отключение электропитания и т.д.) в тот момент, когда исходный архивный файл уже

был удален, а промежуточный файл еще не был скопирован на его место. В этом случае

следует найти временный файл (его имя ARJTEMP.$00 Ч для программы ARJ и имя ис-

ходного архива с расширением .!!! Ч для программы PKZIP) и вручную скопировать его на

место исходного архивного файла.


При архивации больших пакетов программ или иных комплексов файлов часто получа-

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

этом если архивный файл создается на дискете, то программа выводит сообщение

"Disk full" (Диск полон). В таких случаях можно действовать несколькими способами.


1. Создать большой архивный файл на жестком диске и затем с помощью программы

BACKUP или аналогичной ей скопировать этот архивный файл на несколько дис-

кет. При необходимости восстановить один или несколько файлов из этого архива

надо будет скопировать весь архивный файл обратно на жесткий диск и извлечь

нужные файлы с помощью программы PKUNZIP или ARJ.


2. Вариант первого способа Ч создать большой архивный файл на жестком диске и

затем с помощью специальных программ разбить его на несколько архивов, не пре-

вышающих заданного размера. Данный способ непригоден, если в сархивированном

комплексе программ имеются такие файлы, которые не помещаются на одну диске-

ту даже в сархивированном (сжатом) виде.


3. Более сложный способ Ч разбиение вручную всех архивируемых файлов на не-

сколько групп и архивация каждой группы в отдельный архивный файл.


4. И наконец, последний и самый универсальный (но отнюдь не всегда самый лучший)

способ Ч использование возможности программы ARJ создавать многотомные ар-

хивы. Этот способ более подробно описан ниже.


33. 12. Многотомные архивы программы ARJ


Очень удобным и универсальным средством архивации больших наборов файлов явля-

ется предоставляемая программой ARJ возможность создания архивов, состоящих из

нескольких файлов. Иногда по традиции такие архивы называются многотомными

(дело в том, что обычно разные части архива располагаются на разных дисках, а для

обозначения носителей информации Ч отдельных дисков, бобин с лентой и т.д. Ч


^ Глава 33. Работа с архивными файлами в DOS


у^;^.^Х'i/w"' к"^"~^'iпo^..

.пля 1.3, )1'М01 " ihl.t

фпилоп


Примеры


Способы архивации

больших ком; 1лекс()в

фаилон


модификации архивных файлов, располагающихся на дискетах. Здесь мы изложим ре-

комендации, которые помогут Вам в этих случаях.


При изменении архивного файла программы архивации (упаковки) записывают резуль-

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

архивного файла при этом не удаляется, так как это может привести к потере данных.

Обычно промежуточный файл создается на том же диске, что и модифицируемый ар-

хивный файл. Поэтому при модификации архивного файла необходимо как минимум

столько места, сколько занимают вместе исходный вариант архивного файла и вари-

ант, полученный после модификации. При работе с жестким диском это, как правило,

не вызывает проблем, но при работе с дискетой на ней может не хватить места.


Для разрешения этой проблемы программы архивации позволяют назначить каталог, в

котором будут создаваться временные файлы. Целесообразно при модификации архива

на дискете назначить этот каталог на жестком диске Ч это не только предотвратит

нехватку места на дискете, но и значительно ускорит модификацию архива. Соответ-

ствующие режимы:


PKZIP Ч режим -Вимя-каталога

ARJ Ч режим -^имя-каталога


Эти режимы могут употребляться при любых видах модификации архивных файлов

(добавлении файлов в архив, удалении файлов из архива и т.д.).


pkzip -f -bd: a:docarc *.doc Ч обновление архива DOCARC.ZIP на дисководе А: Ч в

него добавляются новые версии файлов с расширением .DOC из текущего каталога.

Промежуточный файл программы PKZIP располагается на дисководе D: ,


arj a Чwe: a:archive ".doc Ч добавление к архиву A:ARCHIVE.ARJ файлов с расширени-

ем .DOC из текущего каталога. Промежуточный файл при архивации располагается на

дисководе С:.


3<1М1':Чс<чи>.:. При задании каталога для временных файлов не на том диске, на котором

находится исходный архивный файл, возможна ситуация, когда в компьютере произошел

сбой (отключение электропитания и т.д.) в тот момент, когда исходный архивный файл уже

был удален, а промежуточный файл еще не был скопирован на его место. В этом случае

следует найти временный файл (его имя ARJTEMP.$00 Ч для программы ARJ и имя ис-

ходного архива с расширением .!!! Ч для программы PKZIP) и вручную скопировать его на

место исходного архивного файла.


При архивации больших пакетов программ или иных комплексов файлов часто получа-

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

этом если архивный файл создается на дискете, то программа выводит сообщение

"Disk full" (Диск полон). В таких случаях можно действовать несколькими способами.


1. Создать большой архивный файл на жестком диске и затем с помощью программы

BACKUP или аналогичной ей скопировать этот архивный файл на несколько дис-

кет. При необходимости восстановить один или несколько файлов из этого архива

надо будет скопировать весь архивный файл обратно на жесткий диск и извлечь

нужные файлы с помощью программы PKUNZIP или ARJ.


2. Вариант первого способа Ч создать большой архивный файл на жестком диске и

затем с помощью специальных программ разбить его на несколько архивов, не пре-

вышающих заданного размера. Данный способ непригоден, если в сархивированном

комплексе программ имеются такие файлы, которые не помещаются на одну диске-

ту даже в сархивированном (сжатом) виде.


3. Более сложный способ Ч разбиение вручную всех архивируемых файлов на не-

сколько групп и архивация каждой группы в отдельный архивный файл.


4. И наконец, последний и самый универсальный (но отнюдь не всегда самый лучший)

способ Ч использование возможности программы ARJ создавать многотомные ар-

хивы. Этот способ более подробно описан ниже.


33. 12. Многотомные архивы программы ARJ


Очень удобным и универсальным средством архивации больших наборов файлов явля-

ется предоставляемая программой ARJ возможность создания архивов, состоящих из

нескольких файлов. Иногда по традиции такие архивы называются многотомными

(дело в том, что обычно разные части архива располагаются на разных дисках, а для

обозначения носителей информации Ч отдельных дисков, бобин с лентой и т.д. Ч