Блог → Архивируем файлы с помощью программы PKZIP

Одной из главных задач, к которыми постоянно сталкивается обычный пользователь компьютера, является копирование информации. Из-за испорченного диска, ошибочной корректировки файла, повреждения данных компьютерным вирусом, и по тысяче других причин, возможна порча или уничтожение ценной информации, для восстановления которой "с нуля" иногда требуются десятки, а то и сотни человеко-лет. Для того, чтобы уменьшить потери в таких ситуациях, всегда следует делать, и хранить, архивные копии используемых файлов и систематически обновлять их.

При хранении архивных копий файлов на дисках, как правило, целесообразно пользоваться специальными программами-архиваторами (их также называют "упаковщиками"), которые позволяют за счёт сжатия (упаковки) информации сэкономить место на архивных дисках, а также легко группировать совместно используемые файлы в один архивный файл, что позволяет гораздо легче разбираться в архиве. В сегодняшней заметке я рассмотрю две удобные и быстрые программы для архивации файлов и последующего их восстановления из архива - PKZIP (для сжатия) и PKUNZIP (для обратной процедуры). По разрешению фирмы PKWARE Inc., разработчика этого удобного софта, они могут свободно использоваться, копироваться и распространяться всеми желающими для некоммерческих целей.



Разумеется, в рамках одной заметки не я не смогу описать этот софт во всех деталях, так что я приведу лишь краткие сведения о программах PKZIP и PKUNZIP. Если же вы хотите узнать больше, или вам понадобится более полное описание этих программ, то вы сможете найти его на официальных сайтах, либо в специальной литературе. То же самое касается и полной системы опций (аргументов) для этих двух программ.

PKZIP - помещаем файлы в архив

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

PKZIP режимы имя-архивного-файла [имена файлов] …


Параметры:
- имя архивного файла - задаёт обрабатываемый архивный файл. При помещении файлов в архив, указанный в команде, архивный файл может не существовать, в этом случае он будет создан автоматически. Если расширение архивного файла не указано, то подразумевается расширение .ZIP (подробнее о расширениях я писал совсем недавно);
- имена файлов - задают файлы, включаемые в архив, удаляемые из архива и т.д. При задании имен файлов можно использовать символы "*" и "?" (так называемые "маски"). Если имена файлов не заданы, для режима -V (просмотр архива) подразумеваются все файлы из архива, а для всех других режимов работы, кроме -D (удаление файлов из архива) подразумеваются все файлы из текущего каталога;
- режимы - указываются с предшествующим знаком "-". Они могут задаваться в любом месте командной строки. Первый параметр при вызове программы, не начинающийся со знака "-", будет рассматриваться как имя архивного файла, а остальные - как имена файлов, которые помещаются в архив, удаляются из архива и т.д.

Режимы работы программы PKZIP:
-А - добавление файлов в архив (этот режим принимается по умолчанию);
-U - обновление архива (файл помещается в архив, только в том случае, если его копии ещё нет в архиве, или же копия в архиве есть, но она имеет более раннюю дату, чем у файла;
-F - добавление новый версий файлов из архива (в архив добавляются только те файлы, копии которых уже имеются в архиве, но имеют более раннюю дату, чем у файла на диске);
-M - пересылка файлов в архив (после успешного добавления этих файлов в архив, они уничтожаются), данный режим можно задавать совместно с режимами -U и -F;
-Y - просмотр оглавления файлов в архиве (вариация этого же параметра -VN мозволяет просмотреть оглавления файлов в архиве в алфавитном порядке);
-D - удаление файлов из архива;
-RP - копирование также и файлов из всех подкаталогов указанного каталога;
-X<имя-файла> - исключение файла, или группы файлов из обработки программой PKZIP;
-S<пароль> - защита информации в архивном файле с помощью пароля.

При вызове программы PKZIP без параметров, или же с неверными параметрами, она выводит на экран информацию о формате вызова программы.

Примеры использования программы PKZIP:

pkzip myzip
pkzip -yn myxip
pkzip -u a:myxip
pkzip -d myzip *.txt


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

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

Формат команды:

PKUNZIP [режимы] имя-архива [путь] химена файлов] …


Параметры:
- имя архива - задаёт имя архива, откуда извлекаются файлы. Если расширение у имени архивного файла не указано, то подразумевается стандартное расширение .ZIP. В имени архивного файла можно употреблять символы "*" и "?" (маску), в этом случае будет обрабатываться сразу несколько архивных файлов.
- путь - задает каталог, в который помещаются извлекаемые из архива файлы. Если путь не указан, то подразумевается текущий каталог. Указание пути имеет смысл только тогда, когда из архива извлекаются и выводятся на диск файлы (режимы -X, -N, -O);
- имена файлов - указывают, какие файлы навлекаются из архива, просматриваются, проверяются на целостность и т.д. В именах файлов можно использовать маску - символы "*" и "?". По умолчанию подразумеваются все файлы, имеющиеся в архиве.

Задание режимов работы программы PKUNZIP не обязательно, и если режимы не заданы, то подразумевается извлечение файлов из архива. Режимы программы PKUNZIP задаются с предшествующим знаком "-", они могут задаваться в любом месте командной строки. Первый параметр при вызове программы, не начинающийся со знака "-" будет рассматриваться как имя архивного файла, а остальные - как имена файлов, которые извлекаются из архива, проверяются на целостность и т.д.

Режимы работы программы PKUNZIP;
-X - извлечение файлов из архива. Этот режим используется по умолчанию, если не задано других режимов программы;
-O - замещение существующих файлов на диске (файлы с теми же именами, что находятся в архиве, будут замещены без всяких запросов);
-V - просмотр оглавления файлов в архиве (параметр -VN делает то же самое, но в алфавитном порядке);
-T - проверка целостности архива;
-N - файлы извлекаются из архива только в том случаке, если соответствующие файлы на диске не существуют вообще, или же имеют более старую дату создания, чем файлы в архиве;
-D - восстановление подкаталогов при извлечении файлов из архива;
-C - вывод файлов из архива на экран;
-P - вывод файлов из архива на принтер;
-S - указание пароля для извлечения файлов из архива (при задании неправильного пароля, файлы не будут разархивированы).

Примеры использования программы PKUNZIP:

pkunzip -o a:myzip
pkunzip -n a:myzip


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

Бывает так, что повреждаются и архивные файлы, что же делать в таком случае? Всегда есть шанс спасти хотя бы часть файлов находящихся в "битом" архиве, ведь обычно файлы повреждаются лишь частично. Для восстановления информации из поврежденных архивных файлов, в комплекте с программами PKZIP и PKUNZIP идёт специальная программа под названием PKZIPFIX. Эта программа использует то, что формат архивных файлов .ZIP содержит избыточную (дублирующую) информацию о помещенных в архив файлах, поэтому при многих повреждениях удаётся полностью или частично восстановить данные из архива. Сколько файлов удастся "спасти", зависит от степени повреждения архива.

Формат вызова программы:

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


Как работает программа PKZIPFIX? После запуска она создаёт в текущем каталоге архивный файл PKFIXED.ZIP, содержащий всю информацию, которую ей удалось восстановить из исходного архивного файла. После этого рекомендутся извлечь из архива PKFIXED.ZIP все файлы с помощью программы PKUNZIP, а затем снова упаковать их с помощью PKZIP. Так вы получите новый архив, содержащий файлы, которые удалось "спасти".