Total7zip
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
точно. http://ru.wikipedia.org/wiki/Bzip2
И "В соответствии с традициями UNIX‐программирования" в полученном архиве нет ни имени этого единственного файла ни размера. Я догадался, что имя можно посторить из имени архива, а про размер забыл.
Если посмотрите на сам 7zip, то он отображает размер самого файла архива.
Добавлю.
Код: Выделить всё
В соответствии с традициями UNIX‐программирования, bzip2 выполняет только одну функцию: сжатие или распаковка одного файла. При этом к названию файла по умолчанию добавляется .bz2. Для упаковки нескольких файлов их обычно сперва архивируют в один файл утилитой tar, и затем уже сжимают при помощи bzip2. Такие архивы обычно в конце имени имеют .tar.bz2Если посмотрите на сам 7zip, то он отображает размер самого файла архива.
Добавлю.
Наблюдал и следил за этой веткой, но есть и свои 5 копеек...
Иначе получиться при наличии 5000 архивов, каждый открой, каждый посмотри, а если они ещё "толстые"...
Чтение заголовков не приведёт к пожиранию ресурсов, будет достаточно быстро.
Другой вопрос, искать по содержимому, тут уж никто не поможет. Действительно распаковать и смотреть...
П.С. Будем держать на пульсе, будем тестить, тем более плагин очень нужен...
И всё же, приведи файл в xml, будет удобнее понять, и править (согласно правил правки xml).
Насколько знаю, поиск в архивах можно реализовать не распаковывая файлы, а просто прочитав заголовок (большинство поисков так и делают).3) поиск в архивах - может сделаю, чтоб работал. Reflector говорит, что для этого надо разархивировать по одному файлу, а не пачкой все сразу, как сейчас.
пока мне интересно, боюсь только вас задолбать постоянными обновлениями. =)
Иначе получиться при наличии 5000 архивов, каждый открой, каждый посмотри, а если они ещё "толстые"...
Чтение заголовков не приведёт к пожиранию ресурсов, будет достаточно быстро.
Другой вопрос, искать по содержимому, тут уж никто не поможет. Действительно распаковать и смотреть...
П.С. Будем держать на пульсе, будем тестить, тем более плагин очень нужен...
И всё же, приведи файл в xml, будет удобнее понять, и править (согласно правил правки xml).
Total7zip
И надеюсь, мы втроем тебя убедили по-поводу xml-расширения
Кста, как тебе вот такая структура:
спс. ждем-с.Добавлю.
И надеюсь, мы втроем тебя убедили по-поводу xml-расширения
Кста, как тебе вот такая структура:
Код: Выделить всё
<?xml version="1.0"?>
<settings>
<gui lang="ru" />
<path>
<dll="7z.dll" />
<7zG="7zG.exe" />
<sfx="7z.sfx" />
</path>
<compression save="1" />
<passwords save="0" />
<formats save="1" />
</settings>
TC 9.51 | Win10 1903
конечно я так и делаю. речь идет о поиске по содержанию.Rustn писал(а): поиск в архивах можно реализовать не распаковывая файлы, а просто прочитав заголовок (большинство поисков так и делают).
проблема в следующем.
тотал открывает архив и начинает перебирать файлы.
на каждый файл он сообщает что с ним делать - skip, test, extract
потом тотал "закрывает" архив, что значит приблизительно то же что у индейцев значит "я сказал". то есть он сказал, а ты думай, чего же на самом деле он хотел сказать =)
есть два способа работы
1) разархивировать сразу, по одному файлу, когда тотал их перебирает. это долго и неудобно.
2) или можно дожадаться пока тотал переберет все, составить список и выполнить все одной операцией. я так и делаю.
проблема в том, что когда тотал собирается искать по содержанию, он хочет чтоб файл был готов сразу, как только он его перечислил. надо как-то научиться отличать эти два сценария - обычную распаковку и поиск.
убедили,Mr.Merak писал(а): И надеюсь, мы втроем тебя убедили по-поводу xml-расширения
Кста, как тебе вот такая структура:
структура к сожалению не подходит - в XML не бывает такого
Код: Выделить всё
<dll="7z.dll" />можно сделать так
Код: Выделить всё
<path dll=... />Total7zip
И еще, может сделаешь, что бы если правильный\полный путь указан в <path dll="7z.dll" />, то в остальных двух подставлялся автоматом? Или какой то признак добавить, типа <path dll="7z.dll" default="1" />. Просто писать три раза одно и тоже, если все файлы лежат в одном месте, как-то не целесообразно.
Тогда наверно лучше так:<path dll=... />
Код: Выделить всё
<?xml version="1.0"?>
<settings>
<gui lang="ru" />
<path dll="7z.dll" />
<path 7zG="7zG.exe" />
<path sfx="7z.sfx" />
<compression save="1" />
<passwords save="0" />
<formats save="1" />
</settings>
TC 9.51 | Win10 1903
на самом деле так и есть.
если путь к 7zG не прописан, берется папка из которой загружена 7z.dll.
c sfx та же история.
так что, кажется, я вас опередил =)
есдинственное исключение - path64bit
если вы запустились на 64 битной винде, и в path64bit прописано что-то,
например
то будет использоваться 64битная версия, там где возможно.
если путь к 7zG не прописан, берется папка из которой загружена 7z.dll.
c sfx та же история.
так что, кажется, я вас опередил =)
есдинственное исключение - path64bit
если вы запустились на 64 битной винде, и в path64bit прописано что-то,
например
Код: Выделить всё
<path64bit path_7zG_exe="%COMMANDER_PATH%\Utils\Arc\7-Zip\64bit\7zG.exe" />Подскажите, как избавиться от этого:
Есть файл 7z, входим в него по Ctrl+PageDown. Плагин отработал.
Есть файл exe, входим в него по Ctrl+PageDown. Плагин пробует войти, и тут ругается, что 7z не может его открыть и т.д.
Хотелось бы в exe входить не самим плагином, а другим. Где то видел что проверку плагин делает по содержимому (Total7z). Как убрать это, порой бывает exe файл действительно не sfx архив, а плагин ругается и посмотреть нельзя...
Есть файл 7z, входим в него по Ctrl+PageDown. Плагин отработал.
Есть файл exe, входим в него по Ctrl+PageDown. Плагин пробует войти, и тут ругается, что 7z не может его открыть и т.д.
Хотелось бы в exe входить не самим плагином, а другим. Где то видел что проверку плагин делает по содержимому (Total7z). Как убрать это, порой бывает exe файл действительно не sfx архив, а плагин ругается и посмотреть нельзя...
а можно пример такого exe? и какой версии плагин, какой версии 7z.dll используется.
просто на самом деле был такой баг, я его исправлял.
теперь у меня плагин открывает даже обычные exe и dll
например можно иконки доставать...
выглядит так:
просто на самом деле был такой баг, я его исправлял.
теперь у меня плагин открывает даже обычные exe и dll
например можно иконки доставать...
выглядит так:
Код: Выделить всё
.rsrc\
.data
.debug0
.rdata
.textВот так тотал будет пытаться открыть exe 7z-м:Rustn писал(а): Хотелось бы в exe входить не самим плагином, а другим.
[PackerPlugins]
exe=68,Total7zip.wcx
exe=68,multiarc.wcx
А вот так, multiarc-м:
exe=68,multiarc.wcx
exe=68,Total7zip.wcx
Задействовать второй плагин если первый не смог открыть архив похоже нельзя. Можно реализовать поддержку разных видов exe одним плагином, потому в multiarc можно прописать и консольный 7z и что-то еще, он сам выберет из них подходящий.
Решил наконец поставить плагин - очень неплохо, смог убрать часть пакеров из MultiArc-а.
Вот только почему-то не воспринимаются настройки. Внес в total7zip.ini минимальные правки:
При попытке зайти в архив появляется ошибка о невозможности загрузки библиотеки, а пути в файле конфигурации меняются на дефолтные "7z.dll" и "7zG.exe". А атрибут lang становится равен "ru".
Если положить 7z.dll и 7zG.exe рядом с плагином, всё, понятное дело, работает (но пути все равно сбрасываются).
Вроде похожая проблема уже была, но версия плагина последняя, 0.5.4.0. Версия 7zip - 9.20.
Вот только почему-то не воспринимаются настройки. Внес в total7zip.ini минимальные правки:
Код: Выделить всё
<gui lang="" />
<path path_7z_dll="%COMMANDER_PATH%\Addons\Packers\7zip\7z.dll" path_7zG_exe=""%COMMANDER_PATH%\Addons\Packers\7zip\7zG.exe" />
Если положить 7z.dll и 7zG.exe рядом с плагином, всё, понятное дело, работает (но пути все равно сбрасываются).
Вроде похожая проблема уже была, но версия плагина последняя, 0.5.4.0. Версия 7zip - 9.20.