7zip консольные команды windows

Работа с 7zip из командной строки

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

cd «C:\Program Files\7-Zip»

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

Распаковка

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

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

7z x c:\temp\archive.7z -o»c:\temp\»

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

Архивация

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

7z a -tzip -mx5 -r0 c:\temp\archive.zip c:\temp

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

7z a -mx1 c:\temp\archive.7z c:\temp\file1.txt c:\temp\file2.txt c:\temp\file3.txt

* в данном примере мы архивируем файлы c:\temp\file1.txt, c:\temp\file2.txt, c:\temp\file3.txt с низкой компрессией 1; в итоге будет получен архив c:\temp\archive.7z.

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

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

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

cd «C:\Program Files\7-Zip\»

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

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

7z a -tzip -ssw -mx1 -pPassword -r0 C:\Temp\backup.zip C:\Data

* в данном примере мы архивируем содержимое папки C:\Data и сохраняем в виде файла C:\Temp\backup.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 Files\7-Zip\7z.exe» a -tzip -ssw -mx1 -p%passwd% -r0 %destination%\backup_%curdate%.zip %source%

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

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

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

& «C:\Program Files\7-Zip\7z.exe» a -tzip -ssw -mx1 -p$passwd -r0 $destination\backup_$curdate.zip $source

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

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

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

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

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

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

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

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

Ключ Описание
-sdel Удалить файлы после создания архива.
-sfx Создание самораспаковывающегося sfx-архива.
-y Утвердительно ответить на все вопросы, которые может запросить система.
-x Исключить файлы или папки из архива.
-v Позволяет разбить архив на фрагменты. Если указать -v1g, то архив будет разбит на части по 1 Гб.
-mmt Количество потоков процессора, которые можно задействовать для работы программы. -mmt=4 укажет работать в четыре потока.

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

Примеры

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

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

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

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

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

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

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

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

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

7z.exe a -tzip -ssw -mx9 -r0 -xr!Шаблон* C:\Temp\backup.zip C:\Data

Резервирование баз 1С

Данные базы 1С находятся в файлах с расширением .1CD. Для их резервирования используем команду:

Архивирование и backup с 7z

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

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

взял с 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 вываливает в консоль кучу информации, в том числе и об архивации каждого нового файла. Очевидно, что на объемах в несколько тысяч файлов вся эта инфа в логах нужна как мертвому припарок. Соответственно требуется исключить все ненужные строки, оставив те, где есть информация о названии создаваемого архива, результат архивации и информацию об ошибках, коли таковые появятся.

Тут на помощь приходит команда 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 Files\7-Zip\7z.exe» a -tzip -ssw -mx1 -p%passwd% -r0 %destination%\backup_%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:\Temp\backup.zip C:\Data

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

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

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

Как искать файлы в архивах 7-Zip с помощью командной строки

7-Zip входит в тройку самых востребованных архиваторов, обладающих помимо всего еще и возможностями проводника. Однако у него имеется один недостаток — отсутствие удобного поиска внутри архива. Если размер архива небольшой, его содержимое можно просмотреть прямо в окне встроенного файлового менеджера 7-Zip, для поиска файлов в гигабайтных архивах, содержащих множество файлов, лучше подключить к делу командную строку.

Чтобы обеспечить максимум удобства работы с 7-Zip в консоли, рекомендуем добавить архиватор в переменную Path, это избавит вас от необходимости переходить в каталог с исполняемым файлом архиватора.

Откроете командой systempropertiesadvanced свойства системы и нажмите кнопку «Переменные среды».

В окне выделите мышкой системную переменную Path, нажмите «Изменить».

В окошке редактора кликнете по кнопке «Создать» и введите в появившееся поле путь к папке 7-Zip .

Теперь, когда у вас возникнет необходимость вывести содержимое архива единым списком, выполните в командной строке команду:

7z l путь-к-архиву

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

Если название нужного файла вам известно, добавьте к команде через пробел название файла с расширением и аргумент -r, например, вот так:

7z l E:\limanzip.zip «Бурманская кошка.txt» -r

В двойные кавычки название файла берется, если оно содержит пробелы.

Если вам известна только часть имени файла и неизвестно расширение, можно воспользоваться подстановочными знаками:

7z l E:\limanzip.zip «Бу*.*» -r

Соответственно, если неизвестно имя, но известен формат, последний указывается вместо второй звёздочки. 7-Zip поддерживаются также и другие аргументы командной строки, например, A вместо l создает архив из указанного ресурса (файла или папки) , а X — извлекает содержимое архивов в текущую папку.

Читайте также:  Usb модем kali linux
Оцените статью