Ru-Board.club
← Вернуться в раздел «Программы»

» 7-Zip / 7z (часть 2)

Автор: Ariman_UA
Дата сообщения: 28.01.2016 19:29
Weeter_duble
Цитата:
http://zlib.net/ Это изучать?
В принципе, да. Если есть навыки программирования, то можно попробовать распаковать с помощью этой либы. Это тот же алгоритм, что и в zip-е используется, но все zip архивы ещё и доп. информацию хранят. В частности, как написал VictorVG2, заголовок.

Автор: dev2null
Дата сообщения: 28.01.2016 19:45
Есть программка для распаковки zlib - offzip но с этими архивами не справилась: http://s1.bild.me/bilder/030315/1915089_0.png
Автор: Weeter_duble
Дата сообщения: 28.01.2016 21:49
dev2null
Тоже её нашёл и тоже не получилось.
Автор: VictorVG2
Дата сообщения: 28.01.2016 21:55
Weeter_duble

Автор архива мог использовать любой из допустимых алгоритмов и с любой комбинацией параметров, а вот какой это если он сам это помнит.
Автор: Ariman_UA
Дата сообщения: 28.01.2016 22:04
Может быть другой алгоритм сжатия. А может и просто по-xor-ено поверх сжатых данных, такое тоже бывает.
Автор: VictorVG2
Дата сообщения: 28.01.2016 22:24
Ariman_UA

Так о чём и речь. Могли и просто поделить поток на полином, а остаток зашить в программу если это к ней привязано. Сам такой номер в начале 80-х не раз проделывал. Возня конечно на ассемблере писать, зато премия гарантирована - а куда начальство денется?
Автор: Pasha_ZZZ
Дата сообщения: 29.01.2016 06:41
Это точно не ZLIB в чистом виде: PRECOMP в режиме BRUTE ничего не распаковал
Автор: LonerDergunov
Дата сообщения: 01.02.2016 03:58
Подскажите, пожалуйста.
Неадекватный прогресс-бар - это баг или "фича" последней стабильной версии 15.14 ?
Напоминает копирование на флешку - полоска прогресса быстренько доходит до конца, типа "уже всё", а на самом деле ещё несколько минут архивация продолжается...
Прогресс-бар на то и создан, чтобы визуально отображать прогресс операции. А если он за минуту дойдёт до самого конца, а потом ещё пять минут архивирует - то какая в этом скрытая логика???

Нашел ответ
http://sourceforge.net/p/sevenzip/discussion/45797/thread/7d9ac43f/#9056/2548
Автор признаёт, что прогресс бар отображается неправильно (Wrong progress bar), то есть явный баг, и предлагает странный костыль - уменьшить количество потоков при архивации.
Автор: galina2000
Дата сообщения: 02.02.2016 12:24
Здравствуйте.
На флешке имеется многоуровневый каталог, папки в котором не сжаты, а все файлы - архивы 7z (некоторые с известным паролем) и zip (все без пароля), в каждой папке есть файлы обоих типов. Нужно разархивировать на диск только файлы 7z, но обязательно с сохранением изначальной структуры каталога, а файлы zip - скопировать в свои папки в виде архивов. Подскажите, пожалуйста, каким образом это можно сделать, кроме как ручками по одному файлу?
Автор: VictorVG2
Дата сообщения: 02.02.2016 14:39
galina2000

Самое простое решение скриптом. Кстати, чтобы не возиться с CMD если у вас на машине есть MoonScrip или Lua (LuaJIT v2.x), Perl такую работу разумнее поручить им - у них достаточно средств для этого, а в Lua есть такой механизм как FFI позволяющий звать функции из библиотек DLL из Lua-скрипта и получить быстродействие скрипта на уровне С/С++ кода.
Автор: Alexza
Дата сообщения: 02.02.2016 18:59
Уважаемые, помогите решить один вопрос:
периодически, на нужную программу по работе, выходит обновление и я делаю sfx-exe для тихого обновления этой программы, сама программа запускается как служба и если в данный момент она у сотрудника запущена, то само собой эти, запущенные файлы заменить нельзя. Я использую следующий config.txt

Цитата:
;!@Install@!UTF-8!
GUIMode="2"
OverwriteMode="8"
SelfDelete="1"
InstallPath="%SYSTEMROOT%\\Programm"
RunProgram="hidcon:%SYSTEMROOT%\\Programm\\install.bat"
;!@InstallEnd@!

Как можно и что добавить в config.txt чтобы перед началом копирования эта запущенная программа закрывалась, что то типа sc stop programm
Заранее спасибо за помощь!
Автор: bootaa
Дата сообщения: 02.02.2016 21:11
Alexza

Ну так RunProgram="net stop <имя службы>"...
Или положить комманду в bat файл и его уже запускать RunProgram=
Автор: Alexza
Дата сообщения: 04.02.2016 13:38
bootaa спасибо за ответ
Я почему-то думал, что RunProgram= в config.txt выполняется только раз.
И еще, а на сколько критично sc stop ... или net stop ...
или без разницы?
и вот что интересно, успеет ли остановиться службе перед тем, как начнутся копироваться файлы?
вот такой вариант рабочий?

Цитата:
;!@Install@!UTF-8!
GUIMode="2"
RunProgram="hidcon:cmd /c sc stop programm"
OverwriteMode="2"
SelfDelete="1"
InstallPath="%SYSTEMROOT%\\Programm"
RunProgram="hidcon:%SYSTEMROOT%\\Programm\\install.bat"
;!@InstallEnd@!

Извиняюсь за кучу вопросов, после небольшой теории займусь тестами.
Автор: VictorVG2
Дата сообщения: 04.02.2016 16:27
Alexza

Разумнее так: sc stop <name>&&start /i <install>&&sc start <name> - SCM остановит, потом запустит установку, и стартует демона. При необходимости можно и sc query <name> добавить для проверки состояния. net этого делать не умеет. Команды sc можно посмотреть по sc help.
Автор: Alexza
Дата сообщения: 04.02.2016 17:26
VictorVG2 что пошло не так, не не выходит каменный цветок у Данилы-мастера
При запуске, сразу пишет про отсутствие доступа к заменяемому файлу, что только не пробовал и net stop и sc stop и даже taskkill
..сдается мне, что прежде чем выполнить первую команду sfx-exe себя распаковывает именно в эту папку, указанную в InstallPath="%SYSTEMROOT%\\Programm, а там лежит как раз запущенный исполняемый файл.
Автор: VictorVG2
Дата сообщения: 04.02.2016 18:05
Alexza

Ну, смотреть надо. И так может быть.
Автор: angry_dog
Дата сообщения: 14.02.2016 17:57
Знаю позицию автора по моему вопросу. Можно ли с помощью дополнительных инструментов удалять исходные файлы?
Автор: VictorVG2
Дата сообщения: 14.02.2016 19:32
angry_dog

А в доки посмотреть? Ключ комстроки 7z.exe -sdel Delete files after including to archive
Автор: angry_dog
Дата сообщения: 14.02.2016 22:07

Цитата:
Ключ комстроки 7z.exe -sdel

Ввожу ключ "sdel" в строке "Параметры" при создании архива, пишет "Параметр задан неверно".
Как надо в GUI?
Автор: VictorVG2
Дата сообщения: 14.02.2016 23:04
angry_dog

А зачем? Неужели сложно поставить крыжик [] Удалить файлы после сжатия в диалоге создания архива? Или "Как всегда у персов всё через одно место..."/* © Д. Смирнов - Солнце светит в лепрозорий... (альб. Иранская история) */? Если что, обновитесь до версии 15.14 - особо отборных пакостей в ней пока не обнаружено.
Автор: angry_dog
Дата сообщения: 15.02.2016 11:05
VictorVG2, ота но че! Наконец то. Спасибо! Еще бы профили и при создании сразу проверять и можно слезать с винрара.
Автор: VictorVG2
Дата сообщения: 15.02.2016 11:46
angry_dog

С этим проще - в Far Manager практически не ограниченное число профилей имеет ArcLite (построен на 7z.dll), или вариант №2 - скрипты. Тут кому что удобнее.
Автор: OtherSide2
Дата сообщения: 15.02.2016 20:16
Всем добрый день. Стоит задача распаковывать архив в определенную папку без дополнительных вложенных папок, то есть - все файлы должны рапаковываться в одну папку.
Вызов проходит вот так:

7z e -aou -o"C:\Test data\1235\test" -r 1235.7z

Всё работает замечательно, кроме того, что создаются сами пустые папки. Желательно их не создавать. Скажите - может есть какой заветный ключик, спасибо!
Автор: VictorVG2
Дата сообщения: 15.02.2016 21:31
OtherSide2

команду поменяйте на 7z x -aou -o"C:\Test data\1235\test" -r 1235.7z . Она распаковывает архивы не создавая структуру каталогов (попросту "всё в одну кучу").
Автор: OtherSide2
Дата сообщения: 16.02.2016 07:41
VictorVG2

Увы - 'x' распаковывает как раз в папки, а нужно, что бы все файлы распаковались просто в C:\Test data\1235\test, причем без папок (что бы позже их не удалять). Тем не менее - спасибо за ответ, может быть у кого-то еще мысли будут.
Автор: VictorVG2
Дата сообщения: 16.02.2016 15:04
OtherSide2

Используйте ключи и списки исключения. Они описаны в справке. Я такой номер проделывал не раз - например для уменьшения объёма архивов исходников мне не нужно туда копировать подкаталоги .svn, .git. .hg и файлы систем поддержки контроля версий - всё одно есть шанс их привязки к расположению рабочей копии (в SVN), а значит их не пакуем и архив становится меньше.
Автор: SSchumi
Дата сообщения: 16.02.2016 15:10
VictorVG2
но всё равно это немного грустно. Скорее всего обратно переметнусь на rar, надо только скрипты поправить.
Исключающих файлов, папок бывает много. Каждый раз файл исключения писать тоже надоедает.
А так оп нужные папки пометил, как архивные, к примеру или скрытые и исключил их из добавления.
Автор: VictorVG2
Дата сообщения: 16.02.2016 17:24
SSchumi

А для того, чтобы не править скрипты у них параметры говорят есть. И ими можно скрипты по месту настроить.
Автор: OtherSide2
Дата сообщения: 16.02.2016 20:09
ок, спасибо, буду разбираться.
Автор: VictorVG2
Дата сообщения: 17.02.2016 03:02
OtherSide2

Самое простое это скрипты на CMD с позиционными параметрами - вы туда пишете что нужно, а скрипт передаёт программе не вашу краткую, а развёрнутую команду. Легче - не надо кучу ключей в голове держать.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135

Предыдущая тема: RDM+, TSMobiles и VNC+


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.