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

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

Модерирует : 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

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

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части: Часть 1  |  Часть 2  |  Часть 3


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

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

Загрузить:

Последняя стабильная версия: 25.01 (03.08.2025) | Download 7-Zip 25.01 (03.08.2025)
 
Setup: Windows: x86 (SFX | MSI), x86-64 (SFX | MSI), ARM SFX, ARM64 SFX, Console: Linux: x86 | x86-64 | arm | arm64, macOS arm64/x86-64, Extra (x86/x64), LZMA SDK, Source (.7z | .tar.xz)
 
Последняя beta-версия: 24.04 (05.04.2024), для Linux/MacOs 05.05.2024 выложена v24.04 beta
Windows: (AMD64, SFX , x86, SFX , Arm64, SFX) | Linux: (AMD64, tar.xz , x86, tar.xz , Arm64, tar.xz , ARM, tar.xz) | MacOS X: (Arm64 and AMD64, tar.xz) | 7-Zip Extra: (7z. x86 + AMD64, DLL, standalone console, ANSI Far plug-in)
 
Последняя 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 совместимые процессоры    
Arm64 64-х битные RISC процессоры с архитектурой ARMv8-A и совместимые с ними

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


Дополнения:

  • Плагины для архиватора 7Zip на tc4shell
  • Архив 7-Zip ZS
  • Форк с поддержкой дополнительных алгоритмов - Zstandard, Brotli и др. Vista+. На странице есть подробные результаты тестов разных алгоритмов и инструменты для тестирования.
  • 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
    Дополнительные бесплатные утилиты:

  • 7z SFX Tools - модифицированные SFX модули 1.7.0.3900, Архив версий и 7ZSplit.exe
  • 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)

  • Всего записей: 39775 | Зарегистр. 26-02-2002 | Отправлено: 20:16 28-11-2021 | Исправлено: tmrx, 04:50 03-12-2025
    sov44



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

    Цитата:
    Он русский принципиально что ли спешит забыть?

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

    Всего записей: 132 | Зарегистр. 13-03-2007 | Отправлено: 18:56 27-12-2024
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    destiny_child

    Цитата:
    Эт супер, но с чего бы вдруг этому товарищу надо на инглише репортить?

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

    Цитата:
    Sam Tansy - 1 hour ago
     
        There is no need for 1MB archive to demonstrate this.
     
        Also rar v2 archive ( rar v2 - v4, < v5) works correctly. It seems to affect v5 only.
     
        Igor Pavlov - 1 hour ago
            status: open --> open-later
            Group: -->

    инц подтвержён, запланирован к решению.
     
     
    Добавлено:
    В общем сводка такая: If solid archive RAR5 created Rar for UNIX, Linux, macOs and object's have UNIX like simlink Then unpack or test integrity simlink failure Else success End

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35493 | Зарегистр. 31-07-2002 | Отправлено: 19:16 27-12-2024
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    7-Zip 24.09 - У меня перестала работать кнопка в тотал коммандер тестирования архивов с использованием 7zG.exe
    и сама команда t -scsUTF-16LE -an -ai@%WL -y
     
    С версией  7-Zip 24.01 и предыдущими работает. Объясните в чём причина.
    Windows 7.

    Всего записей: 1087 | Зарегистр. 04-03-2017 | Отправлено: 14:16 28-12-2024
    Inoz2000



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy
    предположу, что не выводится сообщение об результате тестирования, т.к. применён ключ -y
    Цитата:
    7zg.exe (7-Zip GUI): -y switch disables user requests and messages.

    Всего записей: 5555 | Зарегистр. 23-04-2009 | Отправлено: 16:54 28-12-2024
    vaskamy



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

    Добавлено:
    Inoz2000
    Убрал по вашему совету ключь -у и стало работать - очень странно с этим ключом работает на всех старых версиях.

    Всего записей: 1087 | Зарегистр. 04-03-2017 | Отправлено: 18:30 28-12-2024 | Исправлено: vaskamy, 18:36 28-12-2024
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy
     
    7-Zip History.txt:

    Цитата:
    24.03          2024-03-23
    -------------------------
    ....
    - 7zg.exe (7-Zip GUI): -y switch disables user requests and messages.



    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35493 | Зарегистр. 31-07-2002 | Отправлено: 18:48 28-12-2024
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Имеется вот такой батник для 7zip
    Код:
    @echo OFF
     
    if "%~1*"=="*" exit
    if NOT EXIST "%~1" exit
    copy /y nul "%~dpn1.sfv" ||exit
    1>"%~dpn1.sfv" echo ;CRC for files in "%~f1"
    1>>"%~dpn1.sfv" echo.
     
    for /f "usebackq tokens=1,* delims== " %%A in (`cd.^&"C:\Program Files\7-Zip\7z.exe" l -ba -slt -sccUTF-8 -- "%~f1"`) do (
        if /I %%~A*==Path* set "FNAME=*%%~B"
        if /I %%~A*==CRC* if NOT %%~B*==* if NOT %%~B*==00000000* 1>>"%~dpn1.sfv" (setlocal ENABLEDELAYEDEXPANSION&&echo %%~B    !FNAME!&&endlocal)
    )
    Его задача - вывести в текстовый файл crc всех имеющихся в архиве файлов из листинга 7zip.
    На небольших архивах (до пары тысяч файлов) работает ещё нормально. Но если архивы побольше и содержимое переваливает за несколько десятков тысяч файлов, то он работает катастрофически медленно.
    Есть способ ускорить?

    Всего записей: 20548 | Зарегистр. 04-11-2010 | Отправлено: 00:03 30-12-2024 | Исправлено: insorg, 00:03 30-12-2024
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg
     
    По идее можно возится с CMD, но если в коде нет опечаток, то в 7z 24.09 ключа -ba нет - ключи 7z 24.09, ну а дальше можно поиграть с алгоритмом и findstr или лучше использовать awk или sed (благо он читает ввод из консоли) чтобы отфильтровать ненужное. Задача решаема, нужно время на неё тратить, хотя если самих архивов много, и они большие, то их считывание займёт приличное время...

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35493 | Зарегистр. 31-07-2002 | Отправлено: 02:28 30-12-2024 | Исправлено: Victor_VG, 02:42 30-12-2024
    ewild

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

    Цитата:
    в 7z 24.09 ключа -ba нет

     

    Код:
    7z v15.xx introduced some new switches:
    -slt - show technical information for l command
    -ba - suppress headers; undocumented.

     
    https://sourceforge.net/p/sevenzip/discussion/45797/thread/cc263a7956/

    Цитата:
    2019-10-01 r0n
    Could the -ba switch be made official (put in the manual)?..
    2019-10-01 Igor Pavlov
    I'll think about that feature later...

    Всего записей: 1224 | Зарегистр. 13-08-2005 | Отправлено: 02:43 30-12-2024 | Исправлено: ewild, 02:54 30-12-2024
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ewild
     
    Н-н-да, в списках не значился.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35493 | Зарегистр. 31-07-2002 | Отправлено: 03:25 30-12-2024
    sov44



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ключ -ba официально указан в английской справке начиная с версии 21.07. В выхлопе 7z.exe его до сих пор нет.

    Всего записей: 132 | Зарегистр. 13-03-2007 | Отправлено: 09:16 30-12-2024
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sov44
     
    A! А я по привычке 7z --help > 7z.txt смотрю.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35493 | Зарегистр. 31-07-2002 | Отправлено: 14:17 30-12-2024
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg, если извлекать только crc, то и sed и grep работают достаточно шустро.

    Всего записей: 8086 | Зарегистр. 08-09-2001 | Отправлено: 14:27 30-12-2024
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    С этого места подробнее, пожалуйста.

    Всего записей: 20548 | Зарегистр. 04-11-2010 | Отправлено: 20:20 30-12-2024
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg,
    7z l -slt -ba file.7z | sed -n "s/CRC = \(.*\)/\1/p"
    на файле file.7z  с более 10 тыс. файлов разницы с
    7z l -slt -ba file.7z
    практически нет.

    Всего записей: 8086 | Зарегистр. 08-09-2001 | Отправлено: 22:11 30-12-2024
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    А если под винду...
     
    Добавлено:
    Да и формат конечного .crc файла нужен именно тот, который батник делает..
     

    9C614512    *TC7Z.DLL
    78071E45    *TC7Z64.DLL
    5D7A2D56    *TCBIT7Z.DLL
    B958E214    *TCBIT7Z64.DLL
    2296B61C    *TCLZMA64.DLL
    EE28A6A8    *TCMDLZMA.DLL
    F7E8D0B5    *TCZSTD32.DLL
    BD9B595E    *TCZSTD64.DLL

    Всего записей: 20548 | Зарегистр. 04-11-2010 | Отправлено: 22:20 30-12-2024
    los

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

    Цитата:
    А если под винду...

    Не силен.

    Цитата:
    Да и формат конечного .crc файла нужен именно тот, который батник делает..

    Почти такой формат обсудили с Pasha_ZZZ здесь
    http://forum.ru-board.com/topic.cgi?forum=65&topic=2790
     
    есть решение для awk, но нужно сравнить что быстрее т.к. субъективно  awk помедленнее.
     
    P.S.
    Эти решения awk/sed подходят и для 'rar lt file.rar'

    Всего записей: 8086 | Зарегистр. 08-09-2001 | Отправлено: 22:41 30-12-2024
    BorlandIMHO

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

    Цитата:
    Есть способ ускорить?

    1) Лобовое решение: попросить разработчика реализовать функцию "экспорт CRC-файла" непосредственно в 7z.
    2) Накропать свою утилиту, которая будет читать необходимую инфу прямо из архива и писАть в файл (благо, данные по формату архива доступны, как и исходники самого 7-zip). Ну, или привлечь к этому "знакомого программиста"...
     
    Любые внешние парсеры "технической информации 7-zip" будут существенно медленнее любого из этих двух решений.  

    Всего записей: 3136 | Зарегистр. 12-10-2006 | Отправлено: 23:04 30-12-2024
    ewild

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

    Цитата:
    А если под винду...

    insorg
     
    Straightforwardly in PowerShell:

    Код:
    $timer = [system.diagnostics.stopwatch]::StartNew()
    $env:path += ";$env:commander_path\Plugins\7zip;$env:ProgramFiles\7-Zip"
    $files = Get-ChildItem -file -filter *.exe -recurse -force
    foreach ($file in $files) {
    $file.FullName|Write-Host -f Yellow
    $pathPattern = 'Path ='
    $crcPattern = 'CRC ='
    $array = &7z l $file.FullName -slt | Where {$_ -match $pathPattern -or $_ -match $crcPattern -and $_ -notmatch $file.Name}
    $lines = $array -join ';' -replace ';CRC',' CRC' -split ';'
    $lines | sort | foreach {
    $path = $_ -replace 'Path = ' -replace ' CRC = .*'  
    $crc =  $_ -replace '.* CRC = '
    '{0}     *{1}' -f $crc,$path
    }}
    $timer.Stop()
    "timer: {0:mm}:{0:ss}.{0:fff}" -f $timer.Elapsed|Write-Host -f DarkCyan
    pause

     
    Illustration:
    https://i.imgur.com/Ac8ZjyN.mp4
     
     
    Edit.
     
    + *.sfv
     

    Код:
    $timer = [diagnostics.stopwatch]::StartNew()
    $env:path += ";$env:commander_path\Plugins\7zip;$env:ProgramFiles\7-Zip"
    $files = Get-ChildItem -file -filter *.exe -recurse -force  
    foreach ($file in $files) {
    $lines = @()
    $file.FullName|Write-Host -f Yellow
    $pathPattern = 'Path ='
    $crcPattern = 'CRC ='
    $array = &7z l $file.FullName -slt | Where {$_ -match $pathPattern -or $_ -match $crcPattern -and $_ -notmatch $file.Name}
    $array -join ';' -replace ';CRC',' CRC' -split ';' | sort | foreach {
    $path = $_ -replace 'Path = ' -replace ' CRC = .*'  
    $crc =  $_ -replace '.* CRC = '
    '{0}    *{1}' -f $crc,$path|Tee -var line
    $lines += $line
    }
    [IO.File]::WriteAllLines([IO.Path]::combine($file.Directory,$file.Name+'.sfv'),$lines)
    }
    $timer.Stop()
    "timer: {0:mm}:{0:ss}.{0:fff}" -f $timer.Elapsed|Write-Host -f DarkCyan
    pause

     
     
    Edit 2
     
    + check if ($crc) {...} to ignore useless folder-only paths  
    + $include = @('*.7z','*.exe','*.zip') > -filter *.exe
     

    Код:
    $timer = [diagnostics.stopwatch]::StartNew()
    $env:path += ";$env:commander_path\Plugins\7zip;$env:ProgramFiles\7-Zip"
    $include = @('*.7z','*.exe','*.zip')
    $files = Get-ChildItem -file -include $include -recurse -force # -filter *.exe
    foreach ($file in $files) {
    $lines = @()
    $file.FullName|Write-Host -f Yellow
    $pathPattern = 'Path ='
    $crcPattern = 'CRC ='
    $array = &7z l $file.FullName -slt | Where {$_ -match $pathPattern -or $_ -match $crcPattern -and $_ -notmatch $file.Name}
    $array -join ';' -replace ';CRC',' CRC' -split ';' | sort | foreach {
    $path = $_ -replace 'Path = ' -replace ' CRC = .*'  
    $crc =  $_ -replace '.* CRC = '
    if ($crc) {'{0}    *{1}' -f $crc,$path|Tee -var line
    $lines += $line}
    }
    [IO.File]::WriteAllLines([IO.Path]::combine($file.Directory,$file.Name+'.sfv'),$lines)
    }
    $timer.Stop()
    "timer: {0:mm}:{0:ss}.{0:fff}" -f $timer.Elapsed|Write-Host -f DarkCyan
    pause

    Всего записей: 1224 | Зарегистр. 13-08-2005 | Отправлено: 02:37 31-12-2024 | Исправлено: ewild, 16:56 31-12-2024
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я уж прикидывал варианты - можно на Lua накодить через её встроенную библиотеку I/O - io.open(file,r), а после хидер разбирается по полям Lua таблицей. А поскольку код Lua работает в ОЗУ, то в принципе можно сваять, и точно, что будет куда шустрее CMD/PSH, особенно через LuaJIT - там в ряде случаев скорость выполнения приближается к машинному коду. Было б время, да желание возиться...

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35493 | Зарегистр. 31-07-2002 | Отправлено: 03:29 31-12-2024 | Исправлено: Victor_VG, 03:33 31-12-2024
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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

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


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

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

    LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

    Рейтинг.ru