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

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Возможно, кому то мой вопрос покажется странным - а можно как нибудь перепаковать архив, поменяв компрессию одному или всем файлам без
разархивирования?


Верный ответ - Ссылка
 
Последнее редактирование модератором:

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Конечно странный вопрос, покурить формат не?
Zip (file format) - Wikipedia
.ZIP files are archives that store multiple files. ZIP allows contained files to be compressed using many different methods, as well as simply storing a file without compressing it. Each file is stored separately, allowing different files in the same archive to be compressed using different methods. Because the files in a ZIP archive are compressed individually it is possible to extract them, or add new ones, without applying compression or decompression to the entire archive.
Хотя перепаковать все файлы без распаковки это что-то совсем странное.
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Конечно странный вопрос, покурить формат не?
Zip (file format) - Wikipedia

Хотя перепаковать все файлы без распаковки это что-то совсем странное.
Странный не вопрос, а ответ - собственно, где он?
Еще раз сформулирую вопрос: Есть архив A.zip внутри него файл my/path/my.file Как задать файлу другой метод компрессии, допустим, нулевой, не распаковывая его на диск и запаковывая обратно? Такое вообще возможно?
 

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
не распаковывая его на диск
Ну зачем диск, стрим в памяти.
Файл в любом случае нужно распаковать, затем упаковать нужным алгоритмом, потом обратно запихнуть в zip. Но обращения к диску при этом можно не производить, разве что для чтения нужной информации и записи подкорректированного файла.
 
  • Спасибо
Реакции: langry и ~RA~

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Ну зачем диск, стрим в памяти.
Файл в любом случае нужно распаковать, затем упаковать нужным алгоритмом, потом обратно запихнуть в zip. Но обращения к диску при этом можно не производить, разве что для чтения нужной информации и записи подкорректированного файла.
Снова ты не понял сути проблемы. Файл НЕЛЬЗЯ распаковать на диск по ряду причин. Нужна программа, которая умеет такое внутри себя, понимаешь?
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 145
Реакции
2 043
а в винРАРе есть команда - преобразовать архивы - ALT+Q - с заданием параметров - откуда, куда, удалять, не удалять, степень сжатия и прочия словари...?
zip.jpg
создания временных файлов при этом - в каталоге заданном в ВинРАРе, как путь для временных файлов, не увидел
 
  • Спасибо
Реакции: _MBK_

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Снова ты не понял сути проблемы.
Я не то что проблемы, я задачу вообще не понял.
В моем представлении она звучит примерно так: есть архив с суперсекретными данными к примеру на каком-то внешнем носителе которые в любом виде не должны попадать на жесткий диск. При этом к примеру в эти данные нужно вносить изменения и вновь запаковывать к примеру более сильным сжатием.
В такой интерпретации проблем нету, формат открытый, библиотек для работы много, все операции можно производить в оперативной памяти на лету.
Если задача совершенно другая, то опиши ее нормальным языком.

поменяв компрессию одному или всем файлам без разархивирования
Вот как этот пассаж перевести на русский? Я хочу перезашифровать информацию, но при этом ее не расшифровывая?
 
Последнее редактирование:
  • Спасибо
Реакции: langry

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Нет, неправильно ты понял задачу совершенно, а вот Дастин, похоже как, хорошее, годное решение предложил, надо попробовать, во всяком случае.
Попробую тебе объяснить. Дело в том, что винда - это не линукс, ограничения, накладываемые ей на файловую систему не позволяют вот так просто взять и распаковать любой архив с сохранением имен и каталогов.
 

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
ограничения, накладываемые ей на файловую систему не позволяют вот так просто взять и распаковать любой архив с сохранением имен и каталогов.
Чем дальше в лес, тем толще партизаны. Может взять нормальный распаковщик и не выдумывать проблемы. Или нормально называть файлы, в принципе распакуется любое имя, только некоторые имена будут невалидные и windows не может с ними не работать.
А то так можно дойти до того, что Windows поддерживает инсталлируемые файловые системы, подключить том ext3 и распаковывать на него сколько влезет.
 
  • Спасибо
Реакции: langry

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Файлы называются так как называются и ничего с этим поделать нельзя. Что есть "нормальный распаковщик"? В этом собственно и есть топиковый вопрос.
 

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Файлы называются так как называются и ничего с этим поделать нельзя. Что есть "нормальный распаковщик"? В этом собственно и есть топиковый вопрос.
для особых файлов пожалуй нужен особый распаковщик, но без файлов тут ничего не посоветую.
В любом случае задача остается непонятной, зачем перепаковывать файлы в архиве.
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Потому что рыба, потому что надо! '))' Файлы и каталоги обычные но названы по хитрому.
 

Йожег

без телевизора
12 лет на форуме
Сообщения
8 836
Реакции
4 275
Сшит колпак не по колпаковски надо его перекопаковать '))' Имхо невозможная задача в принципе все равно будет распаковка просто озу нынче большие.
 
  • Спасибо
Реакции: langry

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Ну вот ежу простительно, он далек от замысловатого сырого нутра файловой системы, но ты то чего тупишь не пойму? Ладно простецкий пример. Допустим, в архиве два подкаталога MySuperFolder/ и Mysuperfolder/ в каждом из которых свои файлы, некоторые даже с одинаковыми именами. Как легким движением мыши такой архив перепаковать, ась?
 
Последнее редактирование:

splxgf

12 лет на форуме
Сообщения
7 742
Реакции
3 424
Ну вот ежу простительно, он далек от замысловатого сырого нутра файловой системы, но ты то чего тупишь не пойму? Ладно простецкий пример. Допустим, в архиве два подкаталога MySuperFolder/ и Mysuperfolder/ в каждом из которых свои файлы, некоторые даже с одинаковыми именами. Как легким движением мыши такой архив перепаковать, ась?
Вот написать в первом сообщении Case Sensetive не судьба?
Через гуй winrar частично можно что-то сделать, заходить в нужную папку и закидывать файлы. А вот с командной строки нужно смотреть варианты, тут в самих операционках не все гладко (к примеру Adobe error "Case-sensitive drives not supported" or similar install error | Mac OS), а ты хочешь чтобы прикладной софт эти проблемы решал.
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Я просто casesensivity как простой пример привел. На самом деле там еще похлеще варианты могут быть. Потому и ищу простого выхода внутре программы без выхода на просторы системнозависимой файловой системы.
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Так нечестно! '))'
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 861
Реакции
3 450
Что?
 

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 197
Реакции
10 847
Линух же! '))'