Total7zip

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Total7zip
чета в архивах bz2 не отображает размер файлов
TC 9.51 | Win10 1903
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

точно. http://ru.wikipedia.org/wiki/Bzip2

Код: Выделить всё

В соответствии с традициями UNIX‐программирования, bzip2 выполняет только одну функцию: сжатие или распаковка одного файла. При этом к названию файла по умолчанию добавляется .bz2. Для упаковки нескольких файлов их обычно сперва архивируют в один файл утилитой tar, и затем уже сжимают при помощи bzip2. Такие архивы обычно в конце имени имеют .tar.bz2
И "В соответствии с традициями UNIX‐программирования" в полученном архиве нет ни имени этого единственного файла ни размера. Я догадался, что имя можно посторить из имени архива, а про размер забыл.
Если посмотрите на сам 7zip, то он отображает размер самого файла архива.
Добавлю.
Rustn
Сообщения: 45
Зарегистрирован: Ср дек 15, 2010 11:22

Сообщение Rustn »

Наблюдал и следил за этой веткой, но есть и свои 5 копеек...
3) поиск в архивах - может сделаю, чтоб работал. Reflector говорит, что для этого надо разархивировать по одному файлу, а не пачкой все сразу, как сейчас.
пока мне интересно, боюсь только вас задолбать постоянными обновлениями. =)
Насколько знаю, поиск в архивах можно реализовать не распаковывая файлы, а просто прочитав заголовок (большинство поисков так и делают).
Иначе получиться при наличии 5000 архивов, каждый открой, каждый посмотри, а если они ещё "толстые"...
Чтение заголовков не приведёт к пожиранию ресурсов, будет достаточно быстро.
Другой вопрос, искать по содержимому, тут уж никто не поможет. Действительно распаковать и смотреть...
П.С. Будем держать на пульсе, будем тестить, тем более плагин очень нужен...
И всё же, приведи файл в xml, будет удобнее понять, и править (согласно правил правки xml).
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Total7zip
Добавлю.
спс. ждем-с.

И надеюсь, мы втроем тебя убедили по-поводу 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
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

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

тотал открывает архив и начинает перебирать файлы.
на каждый файл он сообщает что с ним делать - skip, test, extract
потом тотал "закрывает" архив, что значит приблизительно то же что у индейцев значит "я сказал". то есть он сказал, а ты думай, чего же на самом деле он хотел сказать =)

есть два способа работы
1) разархивировать сразу, по одному файлу, когда тотал их перебирает. это долго и неудобно.
2) или можно дожадаться пока тотал переберет все, составить список и выполнить все одной операцией. я так и делаю.

проблема в том, что когда тотал собирается искать по содержанию, он хочет чтоб файл был готов сразу, как только он его перечислил. надо как-то научиться отличать эти два сценария - обычную распаковку и поиск.
Mr.Merak писал(а): И надеюсь, мы втроем тебя убедили по-поводу xml-расширения :)
Кста, как тебе вот такая структура:
убедили,
структура к сожалению не подходит - в XML не бывает такого

Код: Выделить всё

<dll="7z.dll" />
тут у вас dll - имя аттрибута. а аттрибут должен принадлежать ноду (узлу).
можно сделать так

Код: Выделить всё

<path dll=... />
тогда все нормально - path имя нода, dll имя аттрибута.
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Total7zip
<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>
И еще, может сделаешь, что бы если правильный\полный путь указан в <path dll="7z.dll" />, то в остальных двух подставлялся автоматом? Или какой то признак добавить, типа <path dll="7z.dll" default="1" />. Просто писать три раза одно и тоже, если все файлы лежат в одном месте, как-то не целесообразно.
TC 9.51 | Win10 1903
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

на самом деле так и есть.
если путь к 7zG не прописан, берется папка из которой загружена 7z.dll.
c sfx та же история.

так что, кажется, я вас опередил =)

есдинственное исключение - path64bit
если вы запустились на 64 битной винде, и в path64bit прописано что-то,
например

Код: Выделить всё

<path64bit path_7zG_exe="%COMMANDER_PATH%\Utils\Arc\7-Zip\64bit\7zG.exe" />
то будет использоваться 64битная версия, там где возможно.
Rustn
Сообщения: 45
Зарегистрирован: Ср дек 15, 2010 11:22

Сообщение Rustn »

Подскажите, как избавиться от этого:
Есть файл 7z, входим в него по Ctrl+PageDown. Плагин отработал.
Есть файл exe, входим в него по Ctrl+PageDown. Плагин пробует войти, и тут ругается, что 7z не может его открыть и т.д.
Хотелось бы в exe входить не самим плагином, а другим. Где то видел что проверку плагин делает по содержимому (Total7z). Как убрать это, порой бывает exe файл действительно не sfx архив, а плагин ругается и посмотреть нельзя...
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

а можно пример такого exe? и какой версии плагин, какой версии 7z.dll используется.
просто на самом деле был такой баг, я его исправлял.
теперь у меня плагин открывает даже обычные exe и dll
например можно иконки доставать...

выглядит так:

Код: Выделить всё

.rsrc\
.data
.debug0
.rdata
.text
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Total7zip писал(а):например можно иконки доставать..
Это, конечно, хорошо, но Total7zip в отличии от ICLRead их не может упаковывать в библиотеку. :wink:
Reflector
Сообщения: 56
Зарегистрирован: Вс ноя 29, 2009 17:51

Сообщение Reflector »

Rustn писал(а): Хотелось бы в exe входить не самим плагином, а другим.
Вот так тотал будет пытаться открыть exe 7z-м:
[PackerPlugins]
exe=68,Total7zip.wcx
exe=68,multiarc.wcx

А вот так, multiarc-м:
exe=68,multiarc.wcx
exe=68,Total7zip.wcx

Задействовать второй плагин если первый не смог открыть архив похоже нельзя. Можно реализовать поддержку разных видов exe одним плагином, потому в multiarc можно прописать и консольный 7z и что-то еще, он сам выберет из них подходящий.
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Flasher
спасибо Кеп
TC 9.51 | Win10 1903
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Решил наконец поставить плагин - очень неплохо, смог убрать часть пакеров из MultiArc-а.
Вот только почему-то не воспринимаются настройки. Внес в 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". А атрибут lang становится равен "ru".
Если положить 7z.dll и 7zG.exe рядом с плагином, всё, понятное дело, работает (но пути все равно сбрасываются).
Вроде похожая проблема уже была, но версия плагина последняя, 0.5.4.0. Версия 7zip - 9.20.
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

Loopback
очевидно, у вас по заданному пути нет библиотеки.
проверьте еще раз.
начните с того, что напишите полный путь.
когда получится - замените относительным.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Mr.Merak
На здоровье.

Loopback
А сдвоенные кавычки в начале второго пути там для чего?
Ответить