7Za параметры командной строки

7Za параметры командной строки

Приведенные ниже команды выполняются после перехода в каталог с установленным 7-Zip. Как правило, это:

cd "C:Program Files7-Zip"

Распаковать и заархивировать

Распаковка

Синтаксис для распаковки:

* ключ x распаковывает с сохранением каталожной структуры; e — все в одно место.

7z x c: emparchive.7z -o"c: emp"

* в данном примере мы распакуем файл c: emparchive.7z в папку c: emp

Архивация

Синтаксис для архивирования:

7z a -tzip -mx5 -r0 c: emparchive.zip c: emp

* в данном примере мы создадим zip-архив с уровнем компрессии 5; в архив попадет все содержимое всех каталогов; название для файла c: emparchive.zip; запаковываем все содержимое папки c: emp.

7z a -mx1 c: emparchive.7z c: empfile.txt

* в данном примере мы архивируем файл c: empfile.txt с низкой компрессией 1; в итоге будет получен архив c: emparchive.7z.

Резервное копирование с помощью 7-Zip

Один из самых распространенных примеров использования 7zip из командной строки — резервирование данных.

Для начала переходим в каталог с установленной программой:

cd "C:Program Files7-Zip"

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

Сама команда выглядит следующим образом:

7z a -tzip -ssw -mx1 -pPassword -r0 C:Tempackup.zip C:Data

* в данном примере мы архивируем содержимое папки C:Data и сохраняем в виде файла C:Tempackup.zip.
* описание ключей смотрите ниже или командой 7z —help.

Полный пример cmd-скрипта для резервного копирования:

set source="C:Date"
set destination="C:Temp"
set passwd="Password"
set dd=%DATE:

3,2%
set yyyy=%DATE:

6,4%
set curdate=%dd%-%mm%-%yyyy%

"C:Program Files7-Zip7z.exe" a -tzip -ssw -mx1 -p%passwd% -r0 %destination%ackup_%curdate%.zip %source%

* данный скрипт заархивирует содержимое каталога C:Data в файл C:Tempackup_ .zip. Полученный архив будет защищен паролем Password.
* содержимое необходимо сохранить в файле с расширением .cmd или .bat.

Пример Powershell скрипта для резервного копирования:

$source = "C:Date"
$destination = "C:Temp"
$passwd = "Password"
$curdate = (Get-Date -UFormat "%d-%m-%Y")

& "C:Program Files7-Zip7z.exe" a -tzip -ssw -mx1 -p$passwd -r0 $destinationackup_$curdate.zip $source

* данный скрипт также заархивирует содержимое каталога C:Data в файл C:Tempackup_ .zip. Полученный архив будет защищен паролем Password.
* содержимое необходимо сохранить в файле с расширением .ps1.

Описание ключей и команд 7z

В синтаксисе работы с 7zip идут команды и ключи.

Описание основных команд

Команда Описание
a Добавление файлов в архив. Если архивного файла не существует, создает его.
d Удаление файла из архива
e Извлечение файлов из архива. Все файлы оказываются в одной папке.
l Вывод содержимого архива.
rn Переименовывание файла внутри архива.
u Обновление файлов в архиве. Если файла нет, создает новый.
x Извлечение файлов из архива. Пути сохраняются.

Описание ключей

Ключ Описание
-t Тип архива. По умолчанию создаются файлы в формате 7z. Примеры, -tzip, -tgz
-ssw Включить файл в архив, даже если он в данный момент используется. Для резервного копирования очень полезный ключ.
-mx Уровень компрессии. 0 — без компрессии (быстро), 9 — самая большая компрессия (медленно).
-p Пароль для архива.
-o Задает директорию, например, в которую будут распакованы файлы.
-r Рекурсивное архивирование для папок. Задается числом от 0 (все каталоги) до количества уровней каталогов, которые нужно включить в архив.
Читайте также:  1С обход массива в цикле

Другие полезные ключи:

Ключ Описание
-sdel Удалить файлы после создания архива.
-sfx Создание самораспаковывающегося sfx-архива.
-y Утвердительно ответить на все вопросы, которые может запросить система.
-x Исключить файлы или папки из архива.

Полный список ключей и команд можно получить командой 7z —help.

Исключение файлов и папок

Отдельно стоит рассказать про возможность исключения. Есть два варианта ее применения.

Первый — создать список исключений в отдельном файле.

Пример команды 7z:

7z.exe a -tzip -ssw -mx9 -r0 -x@exclus.txt C:Tempackup.zip C:Data

* где exclus.txt — файл с исключениями.

Пример файла с исключениями:

* в данном примере мы исключаем каталог с именем test и все файлы с расширением tmp.

Второй — указать исключение в команде.

Резервное копирование является необходимым действием для обеспечения бесперебойного функционирования любой базы данных. Своевременный бекап позволяет восстановить функционал в короткие сроки. Для этого будем использовать консольную версию архиватора 7zip и планировщика задач.

Общий вид командной строки имеет вид:

a: Добавить файлы в архив

d: Удалить файлы из архива

e: Извлечь файлы из архива

l: Показать список файлов в архиве

t: Тестирование целостности архива

u: Обновить файлы в архиве

x: Извлечь файлы из архива с путями

-bd Запретить процентный индикатор выполнения задания

-m<Метод сжатия>: Задание метода сжатия

-o<Директория>: Задание выходной директории

-p<Пароль>: Задание пароля

-r[-|0]: Включая поддиректории

-sfx[<имя SFX-заготовки>]: Создать самораспаковывающийся архив, используя указанную SFX-заготовку

-t<тип>: Задать тип архива (это может быть zip, 7z, rar, cab, gzip, bzip2, tar или другой, по умолчанию 7z)

-u[-][p#][q#][r#][x#][y#][z#][!новое имя архива]: Параметры обновления/создания архива

-w[<путь>]: Задание рабочей директории, без указания пути подразумевается текущая временная директория

-y: Отвечать Yes (Да) на все вопросы

Создадим бекап поддиректории Temp с данными.

Оригинал: Understanding 7z command switches — part I
Автор: Himanshu Arora
Дата публикации: 6 марта 2017 г.
Перевод: А.Панин
Дата перевода: 6 апреля 2017 г.

7zip, без сомнения, является функциональным и мощным архиватором (по словам разработчиков, позволяющим достичь максимальной степени сжатия данных). На данном ресурсе уже была опубликована статья с описанием процесса его установки и использования. Но в ней обсуждались лишь базовые возможности архиватора, доступные в результате использования "параметров-букв".

В этой же статье мы постараемся рассмотреть дополнительные функции данного инструмента, доступные в результате использования классических параметров командной строки. Но перед тем, как перейти непосредственно к рассмотрению этих функций, следует упомянуть о том, что все инструкции и команды, упомянутые в статье, были протестированы в системе Ubuntu 16.04 LTS.

Примечание: в ходе выполнения различных операций с помощью архиватора 7zip будут использоваться файлы с именами, приведенными на расположенной ниже иллюстрации.

Включение в архив отдельных файлов

Архиватор 7zip позволяет включать в архивы отдельные файлы. Для использования этой возможности предназначен параметр -i .

Например, если вам нужно включить в архив лишь файлы с расширением .txt , вы можете воспользоваться следующей командой:

Читайте также:  Asus o play hdp r1 прошивки 2018

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

Из вывода очевидно, что в архив был добавлен лишь файл с именем testfile.txt .

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

Если вам понадобится, вы можете исключить из рассмотрения архиватором файлы, которые вас не интересуют. Для этой цели предназначен параметр -x :

Например, если вам нужно исключить из рассмотрения архиватором файл с именем abc.7z в процессе создания нового архива, вы можете воспользоваться следующей командой:

А это вывод данной команды:

Для того, чтобы убедиться в отсутствии в созданном архиве файла с именем abc.7z вы можете воспользоваться следующей командой:

Из вывода очевидно, что файл с именем abc.7z был исключен из нового архива.

Совет: предположим, что вам нужно исключить из рассмотрения архиватором все файлы с расширением .7z с именами, начинающимися с буквы t и, в то же время, добавить в архив все файлы с расширением .7z с именами, начинающимися с буквы a . Эта задача может быть решена путем совместного использования параметров -i и -x аналогичным образом:

Защита архива с помощью пароля

7zip также позволяет защитить ваш архив с помощью пароля. Для этого может использоваться параметр -p .

Примечание: параметр -mhe активирует ( on ) или деактивирует ( off ) механизм шифрования заголовка архива (который отключен по умолчанию).

Думаю, очевидно, что при извлечении файлов из защищенного с помощью пароля архива архиватор попросит вас ввести пароль. Для извлечения файлов из защищенного подобным образом архива следует использовать "параметр-букву" e . А это пример команды для извлечения файлов из такого архива:

Установка целевой директории

Архиватор позволяет вам извлекать файлы из архива в любую удобную директорию. Для этой цели используется параметр -o . Думаю, не стоит напоминать о том, что он будет работать лишь в случае использования "буквы-параметра" e или x .

Предположим, к примеру, что вы выполнили следующую команду в текущей директории:

При этом значение параметра -o говорит о том, что файлы из архива будут размещены в директории ./how/to/forge .

На основе содержимого приведенной выше иллюстрации несложно сделать вывод о том, что из архива были извлечены все файлы. Но куда они были извлечены? Для того, чтобы убедиться в наличии извлеченных файлов в директории ./how/to/forge может использоваться команда ls -R .

Содержимое приведенной выше иллюстрации говорит о том, что все файлы из архива output.7z были действительно извлечены в директорию ./how/to/forge .

Создание многотомных архивов

С помощью архиватора 7zip могут создаваться, в том числе, многотомные архивы (состоящие из небольших по размеру файлов-подархивов). Это очень полезная возможность, позволяющая передавать файлы большого объема по сети или размещать их на нескольких флеш-накопителях с интерфейсом USB. Для использования этой возможности предусмотрен параметр -v . При работе с упомянутым параметром необходимо указывать размер подархивов.

Вы можете указывать размер подархивов в байтах ( b ), килобайтах ( k ), мегабайтах ( m ) и гигабайтах ( g ).

Читайте также:  Gta sa cannot find 800x600x32 video mode

Давайте попробуем разобраться с данной командой с помощью примера. Учтите, что мы будем использовать новую директорию для выполнения операций с задействованием параметра -v .

Это содержимое данной директории:

Теперь мы можем выполнить следующую команду для создания многотомного архива (с подархивами размером в 100 байт каждый):

Для ознакомления со списком созданных подархивов может использоваться команда ls :

Как очевидно из приведенной выше иллюстрации, было создано четыре тома — volume.7z.001 , volume.7z.002 , volume.7z.003 , volume.7z.004 .

Примечание: вы можете извлечь файлы, открыв файл архива с расширением .7z.001 . Но, для корректной распаковки архива все остальные подархивы также должны присутствовать в текущей директории.

Установка степени сжатия

7zip позволяет пользователям задавать степень сжатия их архивов. Данная функция доступна посредством параметра -m . 7zip поддерживает ограниченный номенклатуру степеней сжатия, а именно, степени -mx0 , -mx1 , -mx3 , -mx5 , -mx7 и -mx9 .

Это краткое описание упомянутых степеней сжатия:

  • -mx0 — Вообще без сжатия — содержимое файлов просто копируется в архив.
  • -mx1 — Минимальные временные затраты с минимальным коэффициентом сжатия данных.
  • -mx3 — Лучший коэффициент сжатия данных, чем при использовании -mx1 .
  • -mx5 — Используется по умолчанию (средний коэффициент сжатия данных).
  • -mx7 — Максимальный коэффициент сжатия данных.
  • -mx9 — Ультравысокий коэффициент сжатия данных.

Примечание: для ознакомления с более подробными описаниями упомянутых степеней сжатия рекомендую обратиться к данной странице .

Например, в определенной директории имеется набор файлов и директорий, которые мы пытаемся сжимать с различными степенями сжатия. Чтобы вам было понятнее, это команда для создания архива со степенью сжатия 0 :

По аналогии были исполнены команды для остальных степеней сжатия.

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

Вывод технической информации об архиве

При необходимости 7zip может выводить с помощью стандартного потока вывода техническую информацию об архиве — его тип, физический размер, размер заголовка и так далее. Для доступа к данной возможности предназначен параметр -slt . Данный параметр работает лишь в случае использования "параметра-буквы" l .

Указание типа создаваемого архива

Если вам нужно создать архив определенного типа вместо архива 7zip (создаваемого по умолчанию), вы можете указать желаемый тип архива с помощью параметра t :

В следующем примере показана процедура создания обычного zip-архива:

В результате будет создан файл howtoforge.zip . Для того, чтобы убедиться в корректности типа созданного архива можно воспользоваться командой file :

Да, файл howtoforge.zip действительно является zip-архивом. Вы можете создавать архивы других поддерживаемых 7zip типов аналогичным образом.

Заключение

Вы наверняка согласитесь с тем, что знание "букв-параметров" 7zip наряду с обычными параметрами позволит использовать данный инструмент максимально продуктивно. Но мы еще не до конца разобрались с параметрами — некоторые из них будут обсуждаться во второй статье серии.

Ссылка на основную публикацию
Adblock detector