Используемые термины: 7zip.
Приведенные ниже команды выполняются после перехода в каталог с установленным 7-Zip. Как правило:
cd "C:Program Files7-Zip"
В данной инструкции мы рассмотрим синтаксис команды 7z, а также приведем примеры ее использования.
Архивирование и разархивирование
Как распаковать
Как запаковать
Резервное копирование
Пример cmd-скрипта
Пример powershell-скрипта
Описание ключей и команд
Команды
Ключи
Примеры использования команд
Исключение файлов и папок
Архивирование базы 1С
Дополнительные материалы
Распаковать и заархивировать
Общий синтаксис:
7z <команда> <ключи> <пути к каталогам и файлам>
Распаковка
Синтаксис для распаковки:
7z <x или e> <архивный файл> -o"<путь, куда распаковываем>"
* ключ x распаковывает с сохранением каталожной структуры; e — все в одно место.
Пример:
7z x c:temparchive.7z -o"c:temp"
* в данном примере мы распакуем файл c:temparchive.7z в папку c:temp
Архивация
Синтаксис для архивирования:
7z a <ключи> <архивный файл> <объект архивирования>
Например:
7z a -tzip -mx5 -r0 c:temparchive.zip c:temp
* в данном примере мы создадим zip-архив с уровнем компрессии 5; в архив попадет все содержимое всех каталогов; название для файла c:temparchive.zip; запаковываем все содержимое папки c:temp.
7z a -mx1 c:temparchive.7z c:tempfile1.txt c:tempfile2.txt c:tempfile3.txt
* в данном примере мы архивируем файлы c:tempfile1.txt, c:tempfile2.txt, c:tempfile3.txt с низкой компрессией 1; в итоге будет получен архив c:temparchive.7z.
* описание ключей ниже.
Резервное копирование с помощью 7-Zip
Один из самых распространенных примеров использования 7zip из командной строки — резервирование данных.
Для начала переходим в каталог с установленной программой:
cd "C:Program Files7-Zip"
* так как в пути имеется пробел, его необходимо писать в кавычках.
Сама команда выглядит следующим образом:
7z a -tzip -ssw -mx1 -pPassword -r0 C:Tempbackup.zip C:Data
* в данном примере мы архивируем содержимое папки C:Data и сохраняем в виде файла C:Tempbackup.zip.
* описание ключей смотрите ниже или командой 7z —help.
Полный пример cmd-скрипта для резервного копирования:
@echo off
set source="C:Date"
set destination="C:Temp"
set passwd="Password"
set dd=%DATE:~0,2%
set mm=%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%backup_%curdate%.zip %source%
* данный скрипт заархивирует содержимое каталога C:Data в файл C:Tempbackup_<текущая дата>.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 $destinationbackup_$curdate.zip $source
* данный скрипт также заархивирует содержимое каталога C:Data в файл C:Tempbackup_<текущая дата>.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 укажет работать в четыре потока. |
| -m | Задает метод сжатия. Доступны варианты: — LZMA: базовый метод для сжатия 7z. Быстрое сжатие и декомпрессия. — LZMA2: метод по умолчанию для 7z. Поддерживает несколько процессорных потоков. — PPMd: метод PPMdH Дмитрия Шкарина с небольшими изменениями. Хорошо подходит для текстовых файлов. — BZip2: на основе алгоритма BWT. Также хорош для текстовых файлов. — Deflate: стандартный метод для форматов ZIP и GZip. Сжатие не очень хорошее, но высокая скорость работы. Поддерживает только 32 КБ словаря. — Deflate64: аналогичен Deflate, но с поддержкой 64 КБ словаря. |
Полный список ключей и команд можно получить командой 7z —help.
Примеры
Исключение файлов и папок
Отдельно стоит рассказать про возможность исключения. Есть два варианта ее применения.
Первый — создать список исключений в отдельном файле.
Пример команды 7z:
7z.exe a -tzip -ssw -mx9 -r0 -x@exclus.txt C:Tempbackup.zip C:Data
* где exclus.txt — файл с исключениями.
Пример файла с исключениями:
test
*.tmp
* в данном примере мы исключаем каталог с именем test и все файлы с расширением tmp.
Второй — указать исключение в команде.
7z.exe a -tzip -ssw -mx9 -r0 -xr!Шаблон* C:Tempbackup.zip C:Data
Резервирование баз 1С
Данные базы 1С находятся в файлах с расширением .1CD. Для их резервирования используем команду:
7z.exe a -tzip -mmt=2 -ssw -mx5 -r0 C:Tempbackup.zip D:Bases_1C*.1CD
* в данном примере мы будем сжимать все файлы 1CD в архив C:Tempbackup.zip.
Читайте также
Другая информация, близкая по теме:
1. Использование tar в Linux и FreeBSD для работы с архивами.
2. Резервное копирование MS SQL Server.
3. Пример скрипта для создания резервной копии файлового сервера.

Добавить комментарий