Извлечение файлов из архива
Запись от Базаров размещена 11.01.2015 в 03:42
Как упоминалось ранее, для извлечения файлов из архивов, созданных программой PKZIP (.ZIP-файлов), используется программа PKUNZIP. А программа ARJ сама умеет извлекать файлы из своих архивов.
Форматы команд
Программы PKUNZIP и ARJ имеют следующие форматы вызова:
Параметры команд
Режимы замещения существующих на диске файлов
При извлечении файлов из архива может возникнуть ситуация, когда в том каталоге, в который извлекается файл, уже имеется файл с таким же именем. По умолчанию программы PKUNZIP и ARJ выполняют следующие действия:
PKUNZIP - на экран выводится запрос: имя-файла already exists. Overwrite (y/n/a/r)? (Файл существует. Перезаписать?). Вы можете нажать на одну из клавиш: Y - заместить имеющийся на диске файл, N - не извлекать файл из архива, А - всегда замещать имеющиеся на диске файлы (больше запросов не будет), R - присвоить извлекаемому из архива файлу другое имя;
ARJ - если файл на диске более старый (имеет более раннюю дату последней модификации, чем файл в архиве), на экран выводится запрос: "имя-файла exists. Overwrite [YNAQ]?" Если файл на диске имеет ту же или более позднюю дату последней модификации, что и файл в архиве, выводится тот же запрос, но вместо "exists" сообщается "is same or newer". Можно нажать на одну из клавиш: Y - заместить имеющийся на диске файл, N - будет выдан запрос, в ответ на который можно ввести новое имя файла или сразу нажать Enter для пропуска извлечения данного файла, А - всегда замещать имеющиеся на диске файлы (больше запросов не будет), Q - окончить работу программы ARJ.
Замечание. Программа ARJ позволяет не выводить запрос о новом имени файла. Для этого надо указать при ее вызове режим -JYN. При этом, если на запрос о перезаписи файла получен ответ N, извлечение данного файла из архива не производится.
Если действия, предпринимаемые по умолчанию, вас не устраивают, можно указать с помощью режимов более подходящий способ действий:
Здесь извлечение новой версии файла - ситуация, когда для извлекаемого из архива файла в том каталоге, куда он должен быть помещен, имеется файл с тем же именем, но файл в архиве имеет более позднюю дату последней модификации, чем файл с тем же именем на диске; извлечение нового файла - ситуация, когда для извлекаемого из архива файла в том каталоге, куда он должен быть помещен, нет файла с тем же именем; запрос - запрос-предупреждение, делаемый перед "затиранием" файла на диске.
Примеры
pkunzip a:archive -o - извлечение всех файлов из архива A:ARCHIVE.ZIP и помещение их в текущий каталог. Файлы на диске с тем же именем затираются без предупреждений;
arj e a:archive -jyo d:\ - извлечение всех файлов из архива A:ARCHIVE.ARJ в корневой каталог диска D:. Файлы надиске с тем же именем затираются без предупреждений;
pkunzip a:archive -n - извлечение файлов из архива A:ARCHIVE.ZIP втекущий каталог. Если на диске имеется файл стем же именем, что и в архиве, то файлы на диске с более ранней датой последней модификации затираются без предупреждения, а файлы с той же или более поздней датой остаются без изменений (извлечение соответствующих файлов из архива не производится);
arj e -u a:archive c: - извлечение файлов из архива A:ARCHIVE.ARJ в текущий каталог на диске С:. Файлы на диске с такой же или более поздней датой последней модификации не изменяются (извлечение соответствующих файлов из архива не производится), а для файлов на диске с более ранней датой, чем у соответствующего файла в архиве, выводится запрос о том, надо ли его затирать;
pkunzip a:archive -f - обновление из архива A:ARCHIVE.ZIP версий файлов из текущего каталога. Из архива извлекаются только более свежие версии тех файлов, которые уже имеются в текущем каталоге. Никаких запросов при этом на экран не выводится, старые версии файлов затираются без предупреждения;
arj e -n a:archive c: - извлечение новых файлов из архива A:ARCHIVE.ARJ в текущий каталог на диске С:. Если для какого-либо файла из архива в текущем каталоге диска С: уже есть файл с таким именем, то этот файл из архива не выводится (даже если файл на диске старее его).
Форматы команд
Программы PKUNZIP и ARJ имеют следующие форматы вызова:
Параметры команд
команда - одна буква, которая задает действие, которое должна выполнить программа ARJ. Например, Е - извлечение файлов из архива, Х - извлечение файлов из архива в соответствующие каталоги и т.д.;После ввода команды программы архивации начинают извлечение файлов из архива. На экране изображаются имена извлекаемых из архива файлов.
режимы - указываются с предшествующим знаком "-"; они задают или уточняют требуемые от программы действия;
имя-архива - задает имя архива, откуда извлекаются файлы. Если расширение у имени архивного файла не указано, подразумевается .ZIP для программы PKUNZIP и .ARJ - для программы ARJ. В имени архива можно употреблять символы * и ? - в этом случае обрабатывается несколько архивных файлов;
каталог - задает каталог, в который помещаются извлекаемые файлы. Если каталог не указан, подразумевается текущий каталог;
имена-файлов - указывают, какие файлы извлекаются из архива. При задании имен файлов можно использовать символы * и ?. По умолчанию подразумеваются все файлы, имеющиеся в архиве.
Режимы замещения существующих на диске файлов
При извлечении файлов из архива может возникнуть ситуация, когда в том каталоге, в который извлекается файл, уже имеется файл с таким же именем. По умолчанию программы PKUNZIP и ARJ выполняют следующие действия:
PKUNZIP - на экран выводится запрос: имя-файла already exists. Overwrite (y/n/a/r)? (Файл существует. Перезаписать?). Вы можете нажать на одну из клавиш: Y - заместить имеющийся на диске файл, N - не извлекать файл из архива, А - всегда замещать имеющиеся на диске файлы (больше запросов не будет), R - присвоить извлекаемому из архива файлу другое имя;
ARJ - если файл на диске более старый (имеет более раннюю дату последней модификации, чем файл в архиве), на экран выводится запрос: "имя-файла exists. Overwrite [YNAQ]?" Если файл на диске имеет ту же или более позднюю дату последней модификации, что и файл в архиве, выводится тот же запрос, но вместо "exists" сообщается "is same or newer". Можно нажать на одну из клавиш: Y - заместить имеющийся на диске файл, N - будет выдан запрос, в ответ на который можно ввести новое имя файла или сразу нажать Enter для пропуска извлечения данного файла, А - всегда замещать имеющиеся на диске файлы (больше запросов не будет), Q - окончить работу программы ARJ.
Замечание. Программа ARJ позволяет не выводить запрос о новом имени файла. Для этого надо указать при ее вызове режим -JYN. При этом, если на запрос о перезаписи файла получен ответ N, извлечение данного файла из архива не производится.
Если действия, предпринимаемые по умолчанию, вас не устраивают, можно указать с помощью режимов более подходящий способ действий:
Здесь извлечение новой версии файла - ситуация, когда для извлекаемого из архива файла в том каталоге, куда он должен быть помещен, имеется файл с тем же именем, но файл в архиве имеет более позднюю дату последней модификации, чем файл с тем же именем на диске; извлечение нового файла - ситуация, когда для извлекаемого из архива файла в том каталоге, куда он должен быть помещен, нет файла с тем же именем; запрос - запрос-предупреждение, делаемый перед "затиранием" файла на диске.
Примеры
pkunzip a:archive -o - извлечение всех файлов из архива A:ARCHIVE.ZIP и помещение их в текущий каталог. Файлы на диске с тем же именем затираются без предупреждений;
arj e a:archive -jyo d:\ - извлечение всех файлов из архива A:ARCHIVE.ARJ в корневой каталог диска D:. Файлы надиске с тем же именем затираются без предупреждений;
pkunzip a:archive -n - извлечение файлов из архива A:ARCHIVE.ZIP втекущий каталог. Если на диске имеется файл стем же именем, что и в архиве, то файлы на диске с более ранней датой последней модификации затираются без предупреждения, а файлы с той же или более поздней датой остаются без изменений (извлечение соответствующих файлов из архива не производится);
arj e -u a:archive c: - извлечение файлов из архива A:ARCHIVE.ARJ в текущий каталог на диске С:. Файлы на диске с такой же или более поздней датой последней модификации не изменяются (извлечение соответствующих файлов из архива не производится), а для файлов на диске с более ранней датой, чем у соответствующего файла в архиве, выводится запрос о том, надо ли его затирать;
pkunzip a:archive -f - обновление из архива A:ARCHIVE.ZIP версий файлов из текущего каталога. Из архива извлекаются только более свежие версии тех файлов, которые уже имеются в текущем каталоге. Никаких запросов при этом на экран не выводится, старые версии файлов затираются без предупреждения;
arj e -n a:archive c: - извлечение новых файлов из архива A:ARCHIVE.ARJ в текущий каталог на диске С:. Если для какого-либо файла из архива в текущем каталоге диска С: уже есть файл с таким именем, то этот файл из архива не выводится (даже если файл на диске старее его).
Всего комментариев 0