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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

Maz



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


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

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

Загрузить:

Последняя стабильная версия: 24.09 (29.11.2024) | Download 7-Zip 24.09 (29.11.2024)
 
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 и совместимые с ними

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

Примечание:
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)

  • Всего записей: 39230 | Зарегистр. 26-02-2002 | Отправлено: 20:16 28-11-2021 | Исправлено: ndch, 19:01 08-02-2025
    sov44



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

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

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

    Всего записей: 117 | Зарегистр. 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

    Всего записей: 35097 | Зарегистр. 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.

    Всего записей: 1066 | Зарегистр. 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.

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



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

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

    Всего записей: 1066 | Зарегистр. 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

    Всего записей: 35097 | Зарегистр. 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.
    На небольших архивах (до пары тысяч файлов) работает ещё нормально. Но если архивы побольше и содержимое переваливает за несколько десятков тысяч файлов, то он работает катастрофически медленно.
    Есть способ ускорить?

    Всего записей: 18506 | Зарегистр. 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

    Всего записей: 35097 | Зарегистр. 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...

    Всего записей: 1212 | Зарегистр. 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

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



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

    Всего записей: 117 | Зарегистр. 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

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

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

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



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

    Всего записей: 18506 | Зарегистр. 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
    практически нет.

    Всего записей: 7849 | Зарегистр. 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

    Всего записей: 18506 | Зарегистр. 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'

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

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

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

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

    Всего записей: 2879 | Зарегистр. 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

    Всего записей: 1212 | Зарегистр. 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

    Всего записей: 35097 | Зарегистр. 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

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


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru