
5. Пересылка файлов в архив
Очень часто требуется не копировать, а пересылать файлы в архив. Иначе говоря, те файлы, которые были успешно добавлены в архив, должны удаляться с диска. Для пересылки файлов в архив можно использовать следующие режимы программ PKZIP и ARJ:
PKZIP — режим —М {можно указывать совместно с режимами -А, —U или -F);
ARJ — режим —D (можно указывать совместно с командами A, U или F) или команда М;
Команда М программы ARJ эквивалентна команде А с режимом -D, она задает добавление файлов в архив с удалением исходных файлов.
Замечания.
1. Если при архивации файлов возникает ошибка, то исходные файлы не уничтожаются.
2. При использовании программы ARJ целесообразно при пересылке файлов в архив указывать также режим — jtl. Он обеспечивает перед удалением исходного файла его сравнение с копией в архиве.
Примеры:
PKZIP -m myarc — пересылка в архивный файл MYARC.ZIP всех файлов из текущего каталога;
ARJ a —d myarc — пересылка в архивный файл MYARC.ARJ всех файлов из текущего каталога;
ARJ m —jtl myarc — пересылка в архивный файл MYARC.ARJ всех файлов из текущего каталога с дополнительным контролем правильности помещенных в архив копий файлов;
PKZIP -m —u docfiles *.doc a:\*.doc — пересылка в архивный файл DOCFILES.ZIP всех файлов с расширением .DOC из текущего каталога и из корневого каталога на диске А:, кроме тех, копий которых нет в архиве DOCFILES.ZIP;
ARJ f —d docfiles *.doc — пересылка в архивный файл DOCFILES.ZIP новых версий всех файлов с расширением .DOC из текущего каталога.
6. Извлечение файлов из архива
Для извлечения файлов из архивов, созданных программой PKZIP (.ZIP-файлов), используется программа PKUNZIP. А программа ARJ сама умеет извлекать файлы из своих архивов. Форматы команд:
PKUNZIP режимы имя-apxивa [имена-файлов]...
ARJ команда режимы имя-архива (каталог\) (имена-файлов)...
Параметры:
команда — одна буква, которая задает действие, которое должна выполнить программа ARJ. Например, Е — извлечение файлов из архива, X — извлечение файлов из архива в соответствующие каталоги и т.д.;
режимы — указываются с предшествующим знаком «-» или «/»; они задают или уточняют требуемые от программы действия;
имя-архива — задает имя архива, откуда извлекаются файлы. Если расширение у имени архивного файла не указано, подразумевается .ZIP для можно употреблять символы * и ? — в этом случае обрабатывается несколько архивных файлов;
каталог — задает каталог, в который помещаются извлекаемые файлы. Если каталог не указан, подразумевается текущий каталог;
имена-файлов — указывают, какие файлы извлекаются из архива. При задании имен файлов можно использовать символы * и ?. По умолчанию подразумеваются все файлы, имеющиеся в архиве.
После ввода команды программы начинают извлечение файлов из архива. На экране изображаются имена извлекаемых из архива файлов. Заметим, что при указании имен извлекаемых из архива файлов программа PKUNZIP использует символ «/» вместо «\» в качестве разделителя имен каталогов и файлов.
Режимы замещения существующих на диске файлов. При извлечении файлов из архива может возникнуть ситуация, когда в том каталоге, в который извлекается файл, уже имеется файл с таким же именем. По умолчанию программы PKUNZIP и ARJ выполняют следующие действия:
PKUNZIP — на экран выводится запрос: имя-файла already exists. Overwrite (y / n / a / r)? (Файл существует. Перезаписать?). Вы можете нажать на одну из клавиш:
(у) — заместить имеющийся на диске файл,
(n) — не извлекать файл из архива,
— всегда замещать имеющиеся на диске файлы (больше запросов не будет),
(r) — присвоить извлекаемому из архива файлу другое имя;
ARJ — если файл на диске более старый (имеет более раннюю дату последней модификации, чем файл в архиве), на экран выводится запрос: «имя-файла exists. Overwrite [YNAQ] ?». Если файл на диске имеет ту же или более позднюю дату последней модификации, что и файл в архиве, то выводится тот же запрос, но вместо «exists» сообщается «is same or newer». Можно нажать на одну из клавиш:
(у) — заместить имеющийся на диске файл,
(n) — будет выдан запрос, в ответ на который можно ввести новое имя файла или сразу нажать ENTER для пропуска извлечения данного файла,
А — всегда замещать имеющиеся на диске файлы (больше запросов не будет),
Q — окончить работу программы ARJ.
Замечание. Программа ARJ позволяет не выводить запрос о новом имени файла. Для этого надо указать при ее вызове режим -JYN. При этом, если на запрос о перезаписи файла получен ответ (N), извлечение данного файла из архива не производится.
Если действия, предпринимаемые по умолчанию, Вас не устраивают, можно указать с помощью режимов более подходящий способ действий:
Извлечение |
Запрос |
PKUNZIP |
ARJ |
Всех файлов |
Без запросов С запросами |
-O По умолчанию |
-JYO По умолчанию |
Новых версий и новых файлов |
Без запросов С запросами |
-N Нет |
-U -JYO - U |
Новых версий файлов |
Без запросов С запросами |
-F Нет |
-F -F -JYO |
Новых файлов |
Без запросов |
Нет |
-N |
Здесь извлечение новой версии файла — ситуация, когда для извлекаемого из архива файла в том каталоге, куда он должен быть помещен, имеется файл с тем же именем, но файл в архиве имеет более позднюю дату последней модификации, чем файл с тем же именем на диске;
извлечение нового файла — ситуация, когда для извлекаемого из архива файла в том каталоге, куда он должен быть помещен, нет файла с тем же именем;
запрос — запрос-предупреждение, делаемый перед «затиранием» файла на диске.
Примеры:
1) pkunzip ararchive -о — извлечение всех файлов из архива A:ARCHIVE.ZIP и помещение их в текущий каталог. Файлы на диске с тем же именем затираются без предупреждений;
2) arj e a:archive —jyo d:\ — извлечение всех файлов из архива A:ARCHIVE.ARJ в корневой каталог диска D:. Файлы на диске с тем же именем затираются без предупреждений;
3) pkunzip a:archive —n — извлечение файлов из архива A:ARCHIVE.ZIP в текущий каталог. Если на диске имеется файл с тем же именем, что и в архиве, то файлы на диске с более ранней датой последней модификации затираются без предупреждения, а файлы с той же или более поздней датой остаются без изменений (извлечение соответствующих файлов из архива не производится);
4) arj e -u a:archive с: — извлечение файлов из архива A:ARCHIVE.ARJ в текущий каталог на диске С:. Файлы на диске с такой же или более поздней датой последней модификации не изменяются (извлечение соответствующих файлов из архива не производится), а для файлов на диске с более ранней датой, чем у соответствующего файла в архиве, выводится запрос о том, надо ли его затирать;
5) pkunzip a:archive —f — обновление из архива A:ARCHIVE.ZIP версий файла из текущего каталога. Из архива извлекаются только более свежие версии тех файлов, которые уже имеются в текущем каталоге. Никаких запросов при этом на экран не выводится, старые версии файлов затираются без предупреждения;
6) arj e —n a:archive с: — извлечение новых файлов из архива A:ARCHIVE.ARJ в текущий каталог на диске С:. Если для какого-либо файла из архива в текущем каталоге диска С: уже есть файл с таким именем, то этот файл из архива не выводится (даже если файл на диске старее его).
Присвоение другого имени извлекаемому файлу.
Программа ARJ предоставляет еще один способ обработки конфликтов имен при извлечении файлов из архива. При указании режима -М2 программа ARJ при наличии на диске файла с тем же именем, что у извлекаемого из архива файла, присваивает извлекаемому из архива файлу другое имя. Для этого она устанавливает у файла расширение .000 (если такой файл тоже существует, то .001 и т.д.).