Работа с 7zip из командной строки
Приведенные ниже команды выполняются после перехода в каталог с установленным 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\file.txt
* в данном примере мы архивируем файл c:\temp\file.txt с низкой компрессией 1; в итоге будет получен архив c:\temp\archive.7z.
Резервное копирование с помощью 7-Zip
Один из самых распространенных примеров использования 7zip из командной строки — резервирование данных.
Для начала переходим в каталог с установленной программой:
* так как в пути имеется пробел, его необходимо писать в кавычках.
Сама команда выглядит следующим образом:
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:
«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 — самая большая компрессия (медленно). |
-p | Пароль для архива. |
-o | Задает директорию, например, в которую будут распакованы файлы. |
-r | Рекурсивное архивирование для папок. Задается числом от 0 (все каталоги) до количества уровней каталогов, которые нужно включить в архив. |
Ключ | Описание |
---|---|
-sdel | Удалить файлы после создания архива. |
-sfx | Создание самораспаковывающегося sfx-архива. |
-y | Утвердительно ответить на все вопросы, которые может запросить система. |
-x | Исключить файлы или папки из архива. |
Полный список ключей и команд можно получить командой 7z —help.
Исключение файлов и папок
Отдельно стоит рассказать про возможность исключения. Есть два варианта ее применения.
Первый — создать список исключений в отдельном файле.
7z.exe a -tzip -ssw -mx9 -r0 -x@exclus.txt C:\Temp\backup.zip C:\Data
* где exclus.txt — файл с исключениями.
Пример файла с исключениями:
* в данном примере мы исключаем каталог с именем test и все файлы с расширением tmp.
Второй — указать исключение в команде.
Вопросы и ответы (FAQ)
Вопросы пользователей
Могу ли я использовать 7-Zip в коммерческих организациях?
Да, 7-Zip это бесплатная программа. Вы можете использовать ее на любом компьютере. Вы не должны регистрировать или платить за 7-Zip.
Как я могу установить ассоциации файлов на 7-Zip в Windows 7 и Windows Vista?
Нужно запустить 7-Zip File Manager в режиме администратора. Щелкните правой кнопкой мыши иконку 7-Zip File Manager и выберите «Запуск от имени администратора». Там вы можете изменить ассоциации файлов и некоторые другие параметры.
Почему архивы 7z, созданы новой версии 7-Zip, могут быть больше, чем архивы, созданные старой версией?
Новые версии 7-Zip (начиная с версии 15.06) используют другой порядок сортировки файлов по умолчанию для непрерывных 7z архивов.
Старая версия 7-Zip (до версии 15.06) использовала сортировку файлов «по типу» (расширению).
Новая версия 7-Zip поддерживает два типа сортировки:
- Сортировка по названию (по умолчанию);
- Сортировка по типу, если в поле Параметры в окне «Добавить в архив» указано ‘qs’ (или -mqs переключатель для версии командной строки).
Вы можете получить большую разницу в коэффициенте сжатия для различных методов сортировки, если размер словаря меньше общего размера файлов. Если в разных папках подобные файлы, сортировка «по типу» может обеспечить лучший коэффициент сжатия в некоторых случаях.
Заметьте, что сортировка «по типу» имеет некоторые недостатки. К примеру, тома NTFS используют порядок сортировки «по названию», поэтому если в архиве используется другая сортировка, то скорость некоторых операций для файлов с необычным порядком может падать на устройстве HDD (жесткие диски имеют низкую скорость для операций «искать»).
Можно увеличить коэффициент сжатия с помощью таких методов:
- Увеличить размер словаря. Это может помочь, когда ‘qs’ не используется.
- Укажите ‘qs’ в поле Параметры (или используйте переключатель -mqs для версии командной строки).
Если вы считаете, что необычный порядок файлов для вас не проблема, и если коэффициент сжатия с небольшим словарем для вас важнее, воспользуйтесь режимом ‘qs’.
Почему версия командной строки не добавляет файлы без расширений в архив?
Возможно вы используете шаблон *.*. 7-Zip не использует парсер маскировки операционной системы, и поэтому принимает шаблон *.* как файл, имеющий расширение. Для обработки всех файлов вы должны использовать шаблон * или отменить шаблоны вообще.
Почему 7-Zip не открывает некоторые архивы ZIP?
В 99% случаев это означает, что архив содержит неправильные заголовки. Некоторые другие программы для работы с архивами ZIP умеют открывать архивы с неправильными заголовками, если они игнорируют эти ошибки.
Если вы столкнулись с такими архивами, пожалуйста не пытайтесь сообщить об этом разработчикам 7-Zip. Вместо этого попробуйте найти программу, которая использовалась для создания этого архива и проинформируйте ее разработчиков о том, что их программное обеспечение не совместимо с форматом zip.
Существует также несколько типов архивов ZIP, закодированные неподдерживаемыми 7-Zip методами. Среди них: PPMd (WinZip), WAVPack (WinZip), pkAES (PkZip).
Почему 7-Zip не может открыть некоторые архивы RAR?
7-Zip 9.20 поддерживает только форматы RAR 2/3/4 и не поддерживает архивы RAR5. Но последние версии 7-Zip поддерживают архивы RAR5.
Почему для получения файлов из архива путем перетаскивания из интерфейса 7-Zip в Проводник Windows используются временные файлы?
7-Zip не знает путь к папке, которая является целью перетягивания. Только Проводник Windows знает его, и он нуждается для переноса в эту папку разархивированные файлы. Поэтому 7-Zip извлекает файлы из архива в папку temp, а потом 7-Zip сообщает Проводнику Windows о пути к этим временным файлам. Затем Проводник Windows копирует эти файлы, чтобы переместить в целевую папку.
Чтобы избежать использования временных файлов, вы можете воспользоваться командой «Извлечь файлы…» 7-Zip или осуществить перетаскивание с 7-Zip в 7-Zip.
Почему 7-Zip не поддерживает большие словари в Windows 32-bit?
Windows 32-bit выделяет только 2 GB виртуальной памяти для одной программы. Кроме того блок размером 2 GB может быть фрагментирован (к примеру, с помощью некоторых файлов DLL), поэтому 7-Zip не может выделить один большой непрерывный блок виртуального пространства. Таких ограничений нет в Windows 64-bit. Поэтому вы можете использовать любой словарь в Windows x64, если это позволяет его физический RAM.
Почему -r switch не работает так, как нужно?
В большинстве случаев вам не нужен -r switch. 7-Zip может сжимать вложенные папки даже без -r switch.
сжимает «С:\Program Files» полностью, включая вложенные папки.
ищет и сжимает «Program Files» во всех папках C:\ (к примеру, в «С:\WINDOWS»).
Если вы хотите сжать только файлы с определенным расширением, вы можете использовать переключатель -r:
сожмет все файлы *.txt из папки c:\dir и ее вложенных папок.
Как мне сохранить полный путь файла в архиве?
7-Zip сохраняет только относительные пути к файлам (без префикса буквы диска). Вы можете изменить текущую папку на папку, которая является общей для всех файлов, которые вы хотите сжать, а затем использовать относительные пути:
Как установить 7-Zip в тихом режиме?
Используйте параметр «/S» для тихой установки и параметр /D=»С:\Program Files7-Zip» для выбора директории установки. Эти параметры зависят от регистра. Для msi-инсталлятора используйте параметр /q INSTALLDIR=»С:\Program Files7-Zip».
Как я могу восстановить поврежденный 7z архив?
Возможны случаи, когда архив поврежден:
- Вы открываете архив и видите список файлов, но при попытке вытянуть или протестировать файлы получаете ошибку данных или ошибку CRC.
- Вы пытаетесь открыть архив, но получаете сообщение «Не удается открыть файл как архив».
В некоторых случаях такие архивы можно восстановить. Как это сделать читайте здесь (на английском языке).
Вопросы разработчиков
Почему при компиляции в Visual C++ 6.0 архиватора 7-Zip или LZMA SDK возникает ошибка?
Для компиляции исходных файлов вам нужно использовать Visual C++ 6.0 или выше. Некоторые файлы также требуют новую платформу SDK от microsoft.com.
Если вы используете MSVC, установите директорию SDK вверху списка директорий «Include files» и «Library files». Это может быть найдено в «Tools / Options / Directories».
Последние версии платформы SDK не совместимы с MSVC6. Поэтому вы должны использовать Windows Server 2003 PSDK (февраль 2003) с MSVC6.
Могу ли я использовать файлы EXE или DLL архиватора 7-Zip в коммерческих приложениях?
Да, но вы должны придерживаться следующих требований:
- Указать в документации, что вы используете часть программы 7-Zip;
- Указать в документации, что 7-Zip находится под лицензией GNU LGPL;
- Вы должны поставить ссылку на сайт www.7-zip.org, где можно найти исходный код.
Как мне добавить поддержку архивов 7z к моему ПО?
Единственный путь — использовать 7za.dll (можно скачать на sf.net). 7za.dll работает с интерфейсом COM. При этом он не использует стандартный интерфейс COM для создания объектов. Вы можете найти маленький пример в исходном коде. Полным примером может служить сам архиватор 7-Zip, поскольку он использует этот dll. Также 7za.dll используют архиваторы WINRAR, PowerArchiver и другие.
Еще один путь — вызвать версию для командной строки 7za.exe.
Могу ли я использовать исходный код 7-Zip в коммерческих программах?
Поскольку 7-Zip находиться под лицензией GNU LGPL вы должны следовать правилам этой лицензии. В основном это означает, что любой код, содержащий код LGPL, должен быть под этим действием этой лицензии. К примеру, вы можете изменить код 7-Zip, или использовать часть кода 7-Zip и компилировать это в DLL.
При этом исходный код этого DLL (в том числе с вашими модификациями / добавлениями / обертками) должен быть под лицензией LGPL или GPL. Любой другой код в вашей программе может быть лицензирован как вам будет угодно. Эта схема позволяет пользователям и разработчикам изменять код LGPL и переделывать DLL. Більше про ліцензування безкоштовних програм можна дізнатися здесь. Также вы можете узнать больше о LZMA SDK, который доступен в более либеральной лицензии.
Для чего нужен и как работает архиватор файлов 7 zip?
Программы для архивации данных являются одним из самых важных на рабочем столе любого пользователя. Одной из самых известных является 7 zip. В статье мы разберемся, что это за разработка, как установить ее на компьютер, как правильно обращаться с ней, и как избежать многих проблем, которые могут обрушиться на голову в самый ответственный момент.
Что это такое?
- быстро сжимает и распаковывает файлы;
- поддерживает множество самых разных форматов;
- дружит с командной строкой;
- самое главное, при всех своих плюсах 7 zip абсолютно бесплатна и работает практически на всем операционном функционале от старых версий Windows до Linux.
+ Несколько приятных мелочей: с ее помощью можно закрыть архив паролем, разбить один файл на несколько частей, использовать как «проводник».
Как пользоваться программой?
Для ее освоения не нужно искать руководство и носиться по формумам с вопросами – интерфейс интуитивно прост и понятен. Давайте кратко остановится на ее основных функциях.
Как упаковать данные?
Поместить один или несколько файлов в архив – нет ничего проще.
- Находим установленный exe-файл 7 zip на рабочем столе, в меню «Пуск» или в корневой папке и запускаем его.
- Перед вами три рабочие области программы 7 zip: настойки архиватора, опции и Проводник. Сейчас нас интересует последний.
- В адресном поле над ним прописываем путь к нужному вам файлу вручную или переходим с помощью курсора (назад можно вернуться с помощью кнопки в виде папки и вертикальной стрелочки слева от адресного поля).
- К примеру, нам нужен файл, находящийся по адресу: «C:\Program Files\File1». Вводим данные или ищем его сами, и вот он появляется в поле Проводник. Выделяем его левой кнопкой мыши и кликаем на кнопку «Добавить» чуть выше адресной строки (ее легко найти по зеленому крестику).
- Открылось окно «Добавить к архиву». Здесь есть множество настроек, от которых рябит в глазах, но для создания самого простого архива нам не нужно трогать практически ничего. Главное определите, куда установить конечный файл, и проследите, чтобы был установлен метод сжатия LZMA в соответствующем поле – так файл ужмется лучше;
На всякий случай проверьте другие данные:
- формат архива – 7z;
- уровень сжатия – «Нормальный»;
- размер словаря – 12 Мб;
- размер слова 32;
- число потоков – 2;
- режим изменения – «Добавить и изменить».
Не обязательно железно выставлять эти данные: настройки можно изменить, как освоитесь с программой.
Порядок объединения нескольких файлов в одном архиве отличается только в одном:
- В Проводнике выделяем нужные вам данные рамочкой, зажав левую кнопку мыши, если они расположены рядом.
- Или же зажимаем клавишу Ctrl и поочередно кликаем по нужным вам файлам. Потом уже нажимаем на кнопку «Добавить».
Еще файлы можно архивировать и через контекстное меню:
- Выбираем нужный на Рабочем столе или в любой папке.
- Кликаем по нему правой кнопкой мыши.
- Выбираем «7 zip» → «Добавить к архиву» и оказываемся в знакомом окне.
Как сжать PDF?
Его можно ужать с помощью 7 zip ненамного, но это несколько сократит время перемещения на другие носители и сэкономит вам место на флешке.
- Выбираем нужный вам файл в Проводнике, выделяем его и нажимаем «Добавить».
- Для того, чтобы максимально сжать файл, в настройках выставляем следующие значения:
- уровень сжатия – Ультра;
- метод сжатия – LZMA;
- размер словаря – 16 Мб;
- размер слова – 64;
- число потоков – 4.
- Нажимаем «ОК».
Как распаковать?
С распаковкой тоже не должно возникнуть больших проблем:
- В Проводнике выделяем нужный вам архив (он имеет расширение 7z, zip, rar и другие).
- Нажимаем на кнопку «Извлечь».
- Выбираем путь распаковки (как правило, там стоит та же самая папка) и кликаем по «ОК».
- Ждем, пока закончится процесс.
Поступить можно еще проще. Находим архив в Проводнике в системе, щелкаем правой кнопкой мыши и выбираем «Открыть с помощью» → «7 zip File Manager». В появившемся окне выбираем нужный файл, зажимаем его левой кнопкой мыши и перетаскиваем в удобное место (в другую открытую папку или на Рабочий стол).
Как открыть файл на Виндовс и посмотреть что внутри?
Преимущество работы с 7 zip на Windows – с архивом можно работать прямо из контекстного меню и не искать его ни на рабочем столе, ни в «Пуске», и не плутать в дебрях системы в поисках расширения «exe».
- Достаточно выбрать нужный нам архив на Рабочем столе или в Проводнике в системе.
- Кликнуть по нему правой кнопкой мыши.
- Выбрать «Открыть с помощью» → «7-Zip File Manager».
Откроется главное окно 7-Zip со списком файлов в архиве, с которыми можно делать все что угодно.
- Кликаем «Выбрать программу».
- Потом «Обзор».
- Ищем файл «7ZipFM.exe» в том месте, куда вы ее установили.
- Нашли – подтверждаем свой выбор, ставим галочку «Использовать выбранную программу для всех файлов данного типа» и давим «ОК».
Как запаролить данные с помощью приложения?
Создание пароля на архив – полезная функция 7 zip, когда нужно защитить данные от чужих глаз. Чтобы поставить пароль делаем следующее:
- Выбираем файл и нажимаем кнопку «Добавить».
- В левой стороне окна «Добавить к архиву» ищем заголовок «Шифрование» и два поля, где нужно ввести ваш пароль и повторить его. Метод шифрования не трогайте – существенной роли он не играет.
- Нажимаем «ОК».
- Теперь архив нельзя будет распаковать, не введя туда ваш пароль. И обойти эту защиту в домашних условиях не получится, так что будьте внимательны и не относитесь легкомысленно к этой функции.
- Если хотите, чтобы невозможно было не только распаковать архив, но и даже посмотреть, что за файлы внутри, в окне «Добавить к архиву» оставляем галочку напротив пункта «Шифровать имена файлов». Так открыть архив станет невозможно, не зная пароль.
Как использовать софт из командной строки?
- Чтобы открыть командную строку, заходим в меню «Пуск» → «Все программы» → «Стандартные» → «Командная строка». Или же в папке «Стандартные» кликаем по «Выполнить».
- В поле вводим команду «cmd».
- Откроется командная строка – вводя туда определенные команды, можно работать с 7-Zip только с клавиатуры.
Параметры командной строки
Давайте попробуем самое простое – создать архив и распаковать его с помощью командной строки.
- Распаковать файл. Вводим: 7z -o»».
Х или e – в чем разница? Выбираем x, если хотим сохранить каталог в отдельной папке; выбираем e, если нужно распаковать все без структуры.
К примеру, нам нужно открыть файл под названием «Archive1.7z», находящийся по адресу «C:\Program Files\Archive1.7z», и создать для этого отдельную папку (то есть выбираем x).
Для этого вводим: 7z x c:\program files\ archive1.7z -o»c:\soft\» и нажимаем Enter. Идем по адресу и находим там новенький архив.
Создать архив. Вводим: 7z a -mx1 .
Нужно запаковать файл «File1.txt», находящийся по адресу «C:\Program Files\File1.txt», в архив по адресу «C:\Program Files\Archive1.7z» (если такого нет, то его создадут).
Для этого вводим: 7z a -mx1 c:\program files\archive1.7z c:\program files\file1.txt и нажимаем Enter.
Еще больше команд можно найти в справке по адресу «Пуск» → «Все программы» → «7 zip» → «7 zip Help» в каталоге «Command Line Version».
Ошибка контрольной суммы при распаковке: что это, можно ли исправить?
Такая ошибка возникает при скачивании больших объемов данных. Загрузка идет несколько часов, и вот пользователь пытается открыть долгожданный архив, а ему вылезает окно «Ошибка контрольной суммы». Причина: во время скачивания произошла потеря пакетов данных – это типичная проблема для нестабильного интернета.
Исправить можно, если заново перекачать файл стандартным способом, или воспользовавшись программой Download Master. Если такой вариант вас не устраивает, попробуйте восстановить битые файлы с помощью программы ZIP Repair или архиватора WinRar.
- Запускаем ZIP Repair, нажимаем Next и указываем путь к вашему старому архиву и расположение нового. Снова жмем Next и пробуем открыть архив.
- У архиватора WinRar есть специальный инструмент в интерфейсе. Запускаем программу, выделяем нужный файл в Проводнике, ищем пункт Tools на верхней панели и в списке выбираем Repair Archive. Далее указываем путь для записи нового архива и нажимаем «ОК». Закрываем окна и пробуем то, что получилось.
Ошибка данных возможно архив поврежден – что за сообщение?
Исправить эту проблему можно с помощью утилиты Universal Extractor. Загружайте ее на компьютер и устанавливайте. Работа с ней не должна вызвать проблем – в ее интерфейсе всего несколько кнопок. Указываем путь к архиву и путь распаковки и нажимаем «ОК».
Что делать если программа не работает?
Если не открывается программа 7 zip в обычном режиме, то попробуйте открыть exe-файл с помощью Администратора, кликнув в соответствующий пункт в контекстном меню. Либо остается только удалить программу и переустановить.
Если 7 zip пропал из контекстного меню, то:
- открываем программу;
- далее «Сервис» → «Настройки» → «7-Zip»;
- ставим галочку напротив пункта «Встроить 7-Zip в контекстное меню оболочки»;
- нажимаем «Применить».
Если не сработает, то поможет только переустановка программы.
Как установить архиватор на ПК?
Все делается быстро в таком порядке:
- Загружаем ее с удобного вам ресурса (лучше это делать на официальном сайте). Размер файла обычно не превышает 1,8 Мб, значит все пройдет в несколько секунд.
- Как только инсталляционный файл появится на вашем компьютере (если не меняли путь, то ищем в папке «Загрузки» или «Мои документы» на диске C:), открываем его правой кнопкой мыши – в контекстном меню выбираем «Запуск от имени Администратора». Во всплывающем окне нажимаем «Ок». На время установки рекомендуется ненадолго отключить антивирус, чтобы он не мешал процессу инсталляции.
- Открывается крохотное окошко, где нужно указать путь для установки программы. Стандартно это «C:\Program Files\7-Zip\», но вы можете назначить свой.
- Потом жмем на кнопку «Install» и ждем, пока программа завершит работу.
- По окончанию нажимаем кнопку «Close» – она выделится, когда все будет готово.
- Вот и все – программа установлена!
Бесплатный – не значит плохой. 7-Zip подтверждает это на собственном примере. Небольшой размер, интуитивный интерфейс, много дополнительных функций и быстрая работа – вот качества, которыми он заслужил любовь пользователей во всем мире.