7Zip командная строка примеры

Приведенные ниже команды выполняются после перехода в каталог с установленным 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 (все каталоги) до количества уровней каталогов, которые нужно включить в архив.
Читайте также:  Lineage 2 revolution прически

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

Ключ Описание
-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.

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

возможность использования любого метода сжатия или преобразования информации; на данный момент поддерживаются следующие методы сжатия: LZMA (основан на алгоритме Лемпела-Зива (Lempel-Ziv)), PPMD (основанный на алгоритме Дмитрия Шкарина с небольшими изменениями), BCJ2 (преобразование 32-битных EXE-файлов), BZip2 (основан на алгоритме BWT), Deflate (основан на алгоритме Лемпела-Зива (Lempel-Ziv) и Хаффмана (Huffman));

поддержка файлов размером до 16000000000 Гб;

имена файлов хранятся в формате Unicode;

поддержка непрерывных архивов;

шифрование (по методу AES с ключом 256 бит);

сжатие заголовков архивов.

7z.exe — версия командной строки архиватора 7-Zip, использующая другие модули архиватора 7-Zip.

7za.exe — самостоятельная версия архиватора командной строки, не использующая других модулей архиватора 7-Zip, но поддерживающая только форматы архивов 7z и ZIP.

7zn.exe и 7zan.exe — оптимизированные под Windows NT/2000/XP, с улучшенной поддержкой формата unicode в именах файлов, версии командной строки 7z.exe и 7za.exe соответственно.

7z [ . ] [ . ] [ ]

a: Добавить файлы в архив
d: Удалить файлы из архива
e: Извлечь файлы из архива
l: Показать список файлов в архиве
t: Тестирование целостности архива
u: Обновить файлы в архиве
x: Извлечь файлы из архива с путями

-bd Запретить процентный индикатор выполнения задания
-i[r[-|0]]<@список файлов|!символы множественной замены>: Включая следующие файлы
-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[<путь>]: Задание рабочей директории, без указания пути подразумевается текущая временная директория
-x[r[-|0]]]<@список файлов|!символы множественной замены>: За исключение указанных файлов
-y: Отвечать Yes (Да) на все вопросы

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

Для повышения стабильности часть кода перенесена из DLL-библиотеки в EXE-файл, поэтому теперь любые операции сжатия/распаковки в проводнике и в 7-Zip File Manager, вызванные через контекстное меню 7-Zip, выполняются отдельной программой;

Для архивов в формате 7z добавлено шифрование по методу AES с ключом 256 бит;

Добавлена поддержка шифрованных Rar3-архивов и архивов, содержащих Unicode имена файлов, также добавлена поддержка RAR-архивов, сделанных старой версией архиватора 1.50.

Добавлена поддержка разархивации ZIP-архивов, созданных по методу Deflate64;

Добавлена поддержка формата DEB;

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

Скачать 7-Zip 2.30 Beta 27 (размер 1.07Mb): линк

Скачать исходный код 7-Zip 2.30 Beta 27 (размер 403Kb): линк

Скачать 7-Zip 2.24 (размер 463Kb): линк

Разные есть подходы к решению задач. Программки бывают громоздкими и стоящими денег. какие то это оправданно стоят а какие то нет.

Читайте также:  Почему нет значка ссылки в сторис

Поэтому командная строка может элегантно помочь выйти из ситуации в совокупности с утилитой…

взял с https://habrahabr.ru/post/72636/ + https://www.dmosk.ru/miniinstruktions.php?mini=7zip-cmd

Пример

1)После непродолжительного курения манов комманда приняла следующий вид:

7za.exe a -tzip -ssw -mx7 -r0 -x@exclusions.txt full_path_for_the_archive working_dir

Поподробней об использованных ключах:

-tzip формат архива установлен в zip, без этого ключа умолчальный формат 7z;

-ssw принудительная упаковка файлов, которые в данный момент открыты для записи (мало ли кто-то засиделся на работе и что-то там правит);

-mx7 высокая степень сжатия (7), можно поставить и 5 (нормальное сжатие), тогда процесс пойдет побыстрее;

-r0 (это ноль, а не буква О) исключения, которые будут прописаны дальше обрабатываются только в рабочем каталоге;

-x@exclusions.txt это собственно говоря файл со списком исключений, которые не будем архивировать. Каждая строка файла — новое исключение. Можно использовать маски типа *.ext и т.п. Если исключение не много, то можно обойтись и без файла, в таком случае ключ примет следующий вид: -x!*.ext;

full_path_for_the_archive это соответственно путь и имя нового архива;

working_dir это папка, которая подлежит упаковке.

Для пущего удобства можно использовать в имени архива %date%.

В связи с тем, что архивировать нужно разные папки в разные архивы, объемами 10-15 гигов, то резонно использовать последовательность команд, дабы не создавать кучу правил в планировщике и не думать сколько времени займет весь этот процесс. Соответственно для этих целей использую объединение команд с помощью &&. Если использовать &, то все команды будут выполняться одновременно, что меня никак не устраивает, с && — последовательно при удачном завершении предыдущей команды.

Помимо всего прочего желательно иметь логи, чтоб быть в курсе, а не случилось ли чего. Это можно легко реализовать с помощью инструкции ‘>>’, которая сохраняет вывод в консоль в текстовый файл. Однако проблема в том, что 7zip вываливает в консоль кучу информации, в том числе и об архивации каждого нового файла. Очевидно, что на объемах в несколько тысяч файлов вся эта инфа в логах нужна как мертвому припарок. Соответственно требуется исключить все ненужные строки, оставив те, где есть информация о названии создаваемого архива, результат архивации и информацию об ошибках, коли таковые появятся.

Читайте также:  Проклятие пораженных diablo 3 как работает

Тут на помощь приходит команда FINDSTR. В моем случае она принимает следующий вид:

findstr /P /I /V «Compressing 7-Zip»

Сначала пара слов об использованных ключах:

/P пропускает строки, содержащие непечатные символы;

/I на всякий случай игнорирую регистр букв;

/V » « непосредственно перечень слов для поиска в строках и последующего исключения этих строк.

В итоге на выходе этой команды имеем 3 строки:

Creating archive archive_name

Everything is Ok

А потом закатываю все в текстовый файл, для последующего изучения:

findstr /P /I /V «Compressing 7-Zip» >> log_file

Теперь дело за малым. Нужно зафутболить все три блока в одну последовательность команд:

7za.exe a -tzip -ssw -mx7 -r0 -x@exclusions.txt full_path_for_the_archive working_dir | findstr /P /I /V «Compressing 7-Zip» >> log_file.%date%.txt

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% >> backup_log.%date%.txt

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

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

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

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

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

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

Ключ Описание
-o Задает директорию, например, в которую будут распакованы файлы.
-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.