✔ Смена компрессии ZIP архива

  • Автор темы Автор темы _MBK_
  • Дата начала Дата начала
@vovansky, @langry, я, конечно, ценю ваше желание помочь, хотя бы капитанским советом, но меня терзают смутные сомнения, что вы перед тем как ответить топик не читали вовсе...
 
Чем моё готовое однокнопочное решение в точности удовлетворяющее поставленной задаче, не подошло? 'P:E'
 
@vovansky, @langry, я, конечно, ценю ваше желание помочь, хотя бы капитанским советом, но меня терзают смутные сомнения, что вы перед тем как ответить топик не читали вовсе...
из переписки я понял, что вам нужно задать архиву другие параметры. но как уже сказали умные люди, чтобы задать новый алгоритм сжатия, нужно сначала вернуть сжимаемое в первозданный вид. сделать это можно либо через ram либо через rom. иных вариантов нет, увы. когда вы хотите чтобы "программа, которая умеет такое внутри себя", вы все равно используете, вернее программа использует ram и rom с которого она запускается. хотя, можно запилить виртуальный диск в памяти, но вы дали понять что виртуализацией не нитересуетесь. или можно развернуть в памяти простенькую ос с болванки и работать в ней... но что то мне подсказывает что и это слишком тривиальное для вас решение
 
  • Спасибо
Реакции: langry
Чем моё готовое однокнопочное решение в точности удовлетворяющее поставленной задаче, не подошло? 'P:E'
Я разве такое говорил? Я ж говорю - не проверял еще, так же как и ты ;)
 
Тогда жду проверки и маркировки ответа новомодной галочкой. ;)
Меня просто слегка удивляют люди, спешащие давать капитанские советы, не разобравшись в проблеме. Разумеется, для того, чтоб перепаковать архив его надо развернуть сначала, но ведь для этого вовсе необязательно создавать точную копию файловой структуры на диске не так ли?
 
Разумеется, для того, чтоб перепаковать архив его надо развернуть сначала, но ведь для этого вовсе необязательно создавать точную копию файловой структуры на диске не так ли?
Совершенно верно.
 
Последнее редактирование:
…чтоб перепаковать архив … необязательно создавать точную копию файловой структуры на диске не так ли?
Мы о разном говорим, судя по всему… Если пути внесены в структуру архива, при распаковке они несомненно будут воспроизведены — в этом вообще и состоит смысл их упаковки.

Далее… Любая операция с изменением существующего архива, хочешь ты того или категорически нет, происходит именно таким образом: распаковка (хотя для тебя она может быть совершенно незаметной) и переупаковка с новыми параметрами. Даже если анонсировано "на лету" и т.п.

Если есть проблема с именованием файлов/папок — она спокойно решается другой ОС'ью в виртуалке, что уже неоднократно предложили. Решительно не понимаю твоего раздражения
 
они несомненно будут воспроизведены
Зачем. При. Перепаковке. Полностью. Воспроизводить. Файловую. Структуру. Архива. На. Рабочей. ФС?????????????????????? 'otbline''fp'
она спокойно решается другой ОС'ью
Точно вы невнимательно тред читаете.
Дело в том, что винда - это не линукс, ограничения, накладываемые ей на файловую систему не позволяют вот так просто взять и распаковать любой архив с сохранением имен и каталогов.
Т. е. я вполне в курсе, что под линуксом можно было б и распаковать, но это решение еще более заднепроходное
Заднепроходное решение у меня и так есть, на всякий случай спросил про прямое.
 
Под такие задачи нужно брать что-то с открытыми исходниками, к примеру 7-zip, модифицировать некоторые функции и пользоваться уже своим форком.
 
Далее… Любая операция с изменением существующего архива, хочешь ты того или категорически нет, происходит именно таким образом: распаковка (хотя для тебя она может быть совершенно незаметной) и переупаковка с новыми параметрами. Даже если анонсировано "на лету" и т.п.
Не обязательно должна быть распаковка и упаковка. Можно просто переносить структуру копированием, упаковывая только добавляемые файлы.
Если поработать с архивами, то можно обратить внимание что операция удаления файла проходит намного быстрее, чем упаковка архива с нуля.
 
В случае непрерывных архивов -- нет. Но ZIP так вроде не умеет.
Про непрерывные я и не упоминал в силу ограничений формата.
Да и они совсем неудобны в работе, для распаковки маленького файла может понадобиться полархива распаковать, а при удалении попадаешь на полную распаковку и пересжатие архива.
 
@_MBK_, ладно: нет взаимопонимания — не буду настаивать.

@splxgf, удаление — в ряде случаев да, но, как совершенно справедливо заметил(а) Gadalka, не во всех. В случае же ТС, как я понял именно непрерывный архив, так что без вариантов