Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » 7-Zip | 7z | 7Zip (часть 3)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136

Открыть новую тему     Написать ответ в эту тему

gyra

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущая часть темы здесь

Официальный сайт | Страница проекта на SourceForge.net

Примечания: | Справка: | О программе:
LZMA SDK | История версий | Страница загрузки
На 7-Zip.org доступны сборки для всех поддерживаемых ОС, исходные коды,
а также пакет 7-Zip Extra (автономная консольная версия, библиотеки и плагин для FAR)

Загрузить:

Последняя стабильная версия: 19.00 (22.02.2019)
Setup: x86 (SFX | MSI), x64 (SFX | MSI), Extra (x86/x64), LZMA SDK, Source |  
зеркала на sf.net 7-Zip, Extras, Source и LZMA SDK
 
Последняя beta-версия: 18.04 (25.04.2018)
Setup: x86 (SFX | MSI), x64 (SFX | MSI), Extra (x86/x64), LZMA SDK, Source  
 
Последняя alpha-версия: 21.02 (06.05.2021)
x86 (7-Zip SFX) | x64 (7-Zip SFX)
 
Расшифровка обозначения аппаратных платформ к таблицам:
IA32 Win32 для x86/х86-64 и совместимых по набору машинных команд процессоров от i386 и новее    
AMD64 Win64 для AMD64/Intel EMT64 х64-86 совместимые процессоры от AMD K8 и новее    
IA64 Win64 для Intel Itanium/Itanium 2    
ARM Win32 для DEC StrongARM SA-110/Intel XScale совместимые процессоры
Achtung!

Некоторые провайдеры блокируют официальный сайт. Заходить туда можно через ТОР/прокси или скачивать файлы со страницы проекта на SourceForge.net
Скачивать с посторонних ресурсов, типа различных файлопомоек не рекомендуется, можно легко нарваться на различную заразу.
Примечание:

Alpha и Beta-версии 7-Zip зачастую являются развитием "стабильных" версий с улучшениями и исправлениями багов.
Ссылки на альфы ищем в разделе Open Discussion форума проекта 7-Zip, там же можно получить и консультацию от разработчика.


Дополнения:

  • Плагины для архиватора 7Zip на tc4shell
  • Архив 7-Zip ZS
  • Форк с поддержкой дополнительных алгоритмов - Zstandard, Brotli и др. На странице есть подробные результаты тестов разных алгоритмов и инструменты для тестирования.
  • Ultra7z Archive Optimizer 1.09 Ахтунг! при конвертации пропадают файлы - Проверяйте количество файлов в созданном архиве! Работайте с копиями.
  • Ultra7z Optimizer 0.12  
  • m7zRepacker 1.0.32.301 (версия 7-zip 9.20 включена)
  • Плагин MutiArc для Total Commander с поддержкой 7z
  • Отдельный 7z-плагин для Total Commander
  • Ещё один новый 7z-плагин для Total Commander - Total7zip
  • Иные программы, поддерживающие архивацию в формате 7z
    Дополнительные бесплатные утилиты:

  • 7-Zip Theme Manager + темы и иконки или готовые иконки в стиле Windows 10 от 4Mike4
  • 7z SFX Tools - модифицированные SFX модули 1.6.2.3888  1.7.0.3900 Архив версий
  • 7z SFX Constructor - программа для сжатия файлов\папок в один *.exe
  • Графическая оболочка для 7z SFX Tools (версия 0.6.0.1, 342 КБ, 01.05.2007)
  • Кнопка для создания и работы с SFX-архивами 7z в Total Commander (Архив версий) (автор: GORA2)
  • Универсальный загрузчик для многотомных 7z SFX архивов. Описание (автор: GORA2)
  • 7-Zip Parameter Generator - генератор параметров командной строки для особых настроек сжатия

    Часто задаваемые вопросы:

  • Почему для использования 2+ ГБ памяти желательно установить 64-битную версию Windоws?
  • Как добавить к имени архива текущие дату и время?
  • Если забыли пароль к архиву, cRARk for 7-Zip purpose, 7z Cracker, Parallel Password Recovery (7-zip module), Hashcat, Daossoft ZIP Password Rescuer
  • А почему вообще в последних версиях убрана поддержка NSIS?
  • Как помещать каждый файл/папку в отдельный архив? (Put each file to separate archive)

  • Всего записей: 7932 | Зарегистр. 18-02-2006 | Отправлено: 22:35 20-12-2016 | Исправлено: abc10, 02:01 09-05-2021
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yudjinvais

    Цитата:
    Не знаю, эти ключи, всё равно предполагают маски вроде.

    не обязательно, можно использовать имена файлов.
    https://sevenzip.osdn.jp/chm/cmdline/switches/exclude.htm

    Цитата:
    А если просто в командной строке?  

    $ 7za a -tzip foo.zip /foo/*  '-x!file.txt'
    в это примере заархивируются все файлы в папке foo кроме файла file.txt
    Для windows синтаксис будет несколько отличаться, но принцип работы одинаков.
    P.S.
    Ключ '-x' может быть удобен когда есть несколько файлов которые не нужно включать в архив и много файлов которые нужно включить.

    Всего записей: 3542 | Зарегистр. 08-09-2001 | Отправлено: 09:57 27-06-2020
    Yudjinvais



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Как раз сейчас у меня задача когда нужно заархиваровать несколько файлов из кучи в одной папке. Если возможно такое сделать этим способом с помощью ключа -i можете показать конкретный пример, а то что-то не выходит с разбегу. Я архивирую с такими параметрами:

    Код:
    7za a -mx9 -m0=LZMA:d16m:mf=bt2

    Для примера - есть папка: C:\Set\Prov\Arch\ в этой папке надо заархивировать файлы:
    buttonsoverlay.xul, localstore.rdf, parent.lock, prefs.js и signons.sqlite из кучи файлов. Приведите конкретный рабочий вариант, если не сложно. Заранее спасибо!
     

    Всего записей: 110 | Зарегистр. 02-09-2014 | Отправлено: 09:00 28-06-2020 | Исправлено: Yudjinvais, 09:01 28-06-2020
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yudjinvais
    для windows поправьте сами
    $ touch file{1..5} buttonsoverlay.xul localstore.rdf parent.lock prefs.js signons.sqlite
    $ find . -type f | wc -l
    10

    $ 7za a foo.7z '-x!/Set/Prov/Arch/*' '-i!buttonsoverlay.xul' '-i!localstore.rdf' '-i!parent.lock' '-i!prefs.js' '-i!signons.sqlite'
    $ 7za l foo.7z
    ------------------- ----- ------------ ------------  ------------------------
    2020-06-28 09:49:46 ....A            0            0  buttonsoverlay.xul
    2020-06-28 09:49:46 ....A            0            0  localstore.rdf
    2020-06-28 09:49:46 ....A            0            0  parent.lock
    2020-06-28 09:49:46 ....A            0            0  prefs.js
    2020-06-28 09:49:46 ....A            0            0  signons.sqlite
    ------------------- ----- ------------ ------------  ------------------------
    2020-06-28 08:49:46                  0            0  5 files

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

    Всего записей: 3542 | Зарегистр. 08-09-2001 | Отправлено: 10:07 28-06-2020
    Yudjinvais



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Если бы я мог подправить, я бы не задавал вопросы, а сделал бы сам. И потом это скрипт какой-то? Для меня это китайская грамота. Мне нужна одна строчка, а не командный файл или скрипт. Просто одна строчка архивирующая заданные файлы в заданной папке. Из предложенного Вами варианта, я даже не понял - как архиватор должен понять, что путь /Set/Prov/Arch/ это именно на диске С: а скажем не на D:, E: или F: к примеру? Пример с @list.txt предложенный мне yurkesha решает эту задачу, а вот с Вашим вариантом я так ничего и не понял. Извините если туплю. Спасибо за желание помочь.

    Всего записей: 110 | Зарегистр. 02-09-2014 | Отправлено: 14:42 28-06-2020
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yudjinvais
     
    Делаете просто - для исключения лишнего просто перечисляете имена включаемого, можно использовать маски, например (это из SumatraPDF toolkit):

    Код:
    for %%b in (
        libmupdf
        PdfFilter
        PdfPreview
        SumatraPDF
        SumatraPDF-dll
        ) do  7z a -tzip .\Bin\SumatraPDF\SumatraPDF-%2-dbg-x86.zip -mx=9 .\source\out\rel32\%%b.map .\source\out\rel32\%%b.pdb -sdel

    а поскольку команда вызывается в цикле for, то знаки %% если они в ней встречаются надо удваивать всюду за исключением имён переменных цикла.  
     
    Вы можете поступить просто - составить для себя простой батник:

    Код:
    @echo off
    cd /d C:\Set\Prov\Arch\
    for %%a in (
        buttonsoverlay.xul
        localstore.rdf
        parent.lock
        prefs.js
        signons.sqlite  
        ) do  7z a Arch.7z -mx=9 m0=LZMA:d16m:mf=bt2 %%a
    exit

    батник сначала перейдёт в указанный каталог (cd /d позволяет указать переход по пути в одной операции, иначе придётся делать цепочку cd <dir>), а цикл сам вызовет полный архиватор 7z.exe для которого в отличии от 7za.exe допустимо использование любых указанных в разделе Command Line Version User's Guide справки параметров и ключей командной строки. Для 7za.exe/7zG.exe/7zr.exe их набор ограничен, хотя в отличии от 7z.exe/7zFM.exe они не вызывают библиотеку 7z.dll в которой и реализован архиватор.


    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2667/C602J/16 GB REG ECC DDR3-1866/GTX 1660, i7-2600/z68/16 Gb DDR3-1600/GTX 1060 3Gb

    Всего записей: 28667 | Зарегистр. 31-07-2002 | Отправлено: 15:40 28-06-2020 | Исправлено: Victor_VG, 15:43 28-06-2020
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yudjinvais,
    используйте вариант с @filelist если он вам подходит, вариант хороший и к чему его менять.

    Всего записей: 3542 | Зарегистр. 08-09-2001 | Отправлено: 19:22 28-06-2020
    Yudjinvais



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Вы не поняли - батник мне как раз не нужен. Написать рабочий командный файл можно кучей способов это вообще не вопрос. Мне нужна именно одна строчка. Вся проблема в том, можно ли прямо в одной строке сделать папку текущей, тогда из неё уже можно выбирать файлы для архивирования через ключ -i. Получается, что нет. Остаётся другой вариант - через список.
     
    Добавлено:
    los
    Вариант подходит и нормально работает. Просто я решил, что существует и другой вариант, стало интересно, потому что по справке не понял - как это можно реализовать.

    Всего записей: 110 | Зарегистр. 02-09-2014 | Отправлено: 08:28 29-06-2020 | Исправлено: Yudjinvais, 08:30 29-06-2020
    Pasha_ZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Yudjinvais
    Цитата:
    можно ли прямо в одной строке сделать папку текущей

    Цитата:
    cd "какая-то_папка" && 7z ............ и его команды

    Всего записей: 9929 | Зарегистр. 11-03-2002 | Отправлено: 08:44 29-06-2020
    Yudjinvais



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pasha_ZZZ
    О, что-же Вы молчали Спасибо!

    Всего записей: 110 | Зарегистр. 02-09-2014 | Отправлено: 15:43 29-06-2020
    Samotek

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста. При попытке создать архив со списком директорий в файле @filename и указании в одной из строк этого файла опции исключений выдается ошибка. А можно ли как-то сделать, чтоб в списке объектов архивирования для одного объекта-папки можно было указать опции исключения -x?

    Всего записей: 1668 | Зарегистр. 18-05-2005 | Отправлено: 13:02 06-07-2020 | Исправлено: Samotek, 13:02 06-07-2020
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek,
    @filename предназначен только для списка файлов подлежащих архивированию, но не для ключей '-x' и т.п. Либо удалите из списка файл который хотите исключить, либо используйте '-x' как дополнительный ключ
    7z a foo.7z @flist '-x!foo/file'
    где 'foo/file' путь к файлу и его имя - для windows путь указывается иначе.

    Всего записей: 3542 | Зарегистр. 08-09-2001 | Отправлено: 13:41 06-07-2020
    Samotek

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los

    Цитата:
    но не для ключей '-x'

    Такое задание работает:
    7z.exe a d:\1\Arc\arc.7z @d:\1\flist.txt -r -x@d:\1\x.txt
    , а вот ели в flist.txt в одну из строчек после имени директории добавить -x@d:\1\x.txt , то не работает  
    То-есть придется разбивать задание на два - одно с одним списком исключений, а второе с другим?
    И получается список исключений можно назначить только для всего задания?  
    Жалко!

    Всего записей: 1668 | Зарегистр. 18-05-2005 | Отправлено: 13:54 06-07-2020
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek

    Цитата:
     а вот ели в flist.txt в одну из строчек после имени директории добавить -x@d:\1\x.txt , то не работает  

    потому что в flist.txt должен быть только список файлов, а вы пытаетесь записать туда
    команду(ключи), я же выше вам это объяснял.

    Цитата:
    То-есть придется разбивать задание на два - одно с одним списком исключений, а второе с другим?  
    И получается список исключений можно назначить только для всего задания?  

    что мешает изначально создать список только "нужных" файлов?  
     
    P.S.
    зачем в вашем случае ключ '-r'?

    Всего записей: 3542 | Зарегистр. 08-09-2001 | Отправлено: 14:08 06-07-2020
    Samotek

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los

    Цитата:
    что мешает изначально создать список только "нужных" файлов?

    Их значительно больше, чем исключаемых

    Цитата:
    зачем в вашем случае ключ '-r'?

    Мне нужна рекурсия.
     

    Всего записей: 1668 | Зарегистр. 18-05-2005 | Отправлено: 14:28 06-07-2020
    Samotek

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что-то я самонадеянно сказал все работает. Нет, как мне надо не работает.
    У меня есть папка (d:\1) в которой куча папок. Мне надо создать архив на эту папку d:\1 со всеми вложениями, исключив папки с определенными именами и файлы с определенными расширениями, встречающимися на любом (обычно это второй уровень) уровне иерархии.
    Я делаю так
    7z.exe a -tzip -x@d:\Ex.txt "d:\arc.zip" @d:\1\inc.txt
    где inc.txt содержит
    d:\1
    а ex.txt содержит
    A
    B
    *.exe
    *.~*
     
    Вроде все просто, но не работает.
     
    Почему у меня все вложенное в d:\1 попадает в архив, а то, что записано в ex.txt не исключается из него?
    Как это правильно реализовать?

    Всего записей: 1668 | Зарегистр. 18-05-2005 | Отправлено: 16:37 06-07-2020 | Исправлено: Samotek, 16:40 06-07-2020
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek,
    7z читает из файла inc.txt что нужно включить(поэтому '-r' в предыдущем вашем варианте лишняя, хотя может в windows это работает по другому) и что нужно исключить из ex.txt.
    Я не уверен что 7z поддерживает wildcard *.exe и т.п. при чтении из файла.  
    можно прописать ex.txt пути и имена файлов либо
    7z a foo.7z @flist -xr!*.exe

    Всего записей: 3542 | Зарегистр. 08-09-2001 | Отправлено: 17:51 06-07-2020
    Samotek

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Ура! Спасибо, надоумили, все получилось:
     
    7z.exe a -tzip -xr@d:\Ex.txt "d:\arc.zip" @d:\1\inc.txt  
     
    Главное было в "-xr"
     

    Всего записей: 1668 | Зарегистр. 18-05-2005 | Отправлено: 18:47 06-07-2020
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek,

    Цитата:
    Главное было в "-xr"  

    да, проверил - *.extension в списке файлов поддерживается.  

    Всего записей: 3542 | Зарегистр. 08-09-2001 | Отправлено: 19:10 06-07-2020
    Baltazar500



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Умеет ли 7zip перепаковывать архивы без распаковки (можно черезиконсоль, если возможно) ? По аналогии с "преобразованием" в WinRar. Стоит задача перепаковать несжатые 7z архивы в сжатые. Как это сделать минуя распаковку и возможную потерю метаданных я ХЗ.

    Всего записей: 1717 | Зарегистр. 19-09-2011 | Отправлено: 10:49 10-07-2020
    insorg



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500

    Цитата:
    Умеет ли 7zip перепаковывать архивы без распаковки
    Естественно, нет!

    Цитата:
    По аналогии с "преобразованием" в WinRar
    Он тоже распаковывает в %temp%

    Цитата:
    Как это сделать минуя распаковку
    Никак! Чтобы что-то упаковать, его надо сначала превратить в исходное состояние (распаковать).

    Цитата:
    возможную потерю метаданных
    Каких, например?

    Всего записей: 1710 | Зарегистр. 04-11-2010 | Отправлено: 11:10 10-07-2020 | Исправлено: insorg, 11:11 10-07-2020
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136

    Компьютерный форум Ru.Board » Компьютеры » Программы » 7-Zip | 7z | 7Zip (часть 3)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru