arclite — работа с архивами на основе 7-Zip

Здесь можно обсудить ваш любимый плагин.
2useven10
Posts: 3965
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 168 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Sun 15 Aug, 2010 22:26

Тема для обсуждения arclite — нового альтернативного плагина архиватора 7-Zip для Far.
("Старый" плагин 7zipalt обсуждается в прежней теме.)

Внимание:
Начиная с билда 1762 плагин входит в комплект поставки юникодной версии FAR'а, заменяя собой Multiarc.
В arclite не реализованы некоторые функции, присутствовавшие в Multiarc, в частности упаковка в RAR.

Обсуждение: arclite вместо MultiArc в комплекте Far 2











Кодек LZHAM

fps
Posts: 208
Joined: Wed 20 Apr, 2005 06:39
Has thanked: 15 times
Been thanked: 4 times

arclite — работа с архивами на основе 7-Zip

Post by fps » Fri 26 Jan, 2018 16:45

Latest post of the previous page:

2useven10 wrote:
Sun 15 Aug, 2010 22:26

"Хотелки"
[*]Возможность обновления архива по Shift-F1 (если указанный путь уже существует).
[*]Опция "Каждый элемент в отдельный архив" (имеется в виду элемент панели - файл или каталог)
Из за отсутствия до сих пор в arclite опции "Каждый элемент в отдельный архив" выходил до сего дня из положения так:
  1. Выделяю папки/файлы в панели
  2. Ctrl-G
  3. arc:c -mf "!.zip" "!.!"
Раньше всегда сжимал папки с именами "без расширений" и всё было ок.
Сегодня применил такой способ на папках

folder.2016
folder.2017
folder.2018

В результате получил folder.2018, сжатый в архив folder.zip, а папки folder.2016 и folder.2017 были молча стерты.

Я понимаю, что сам дурак, что надо было писать не "!.zip", а "!.!.zip"
Но если нажимать Shift-F1, то по крайней мере выводится запрос на перезапись существующего архива,
а при использовании префикса перезаписывает молча.

И честно говоря непонятна принципиальная сложность в реализации хотелки "обновления архива по Shift-F1"
учитывая, что если зайти в архив, то по F5 файлы туда FAR добавляет без проблем.
Last edited by fps on Fri 26 Jan, 2018 16:52, edited 3 times in total.

2useven10
Posts: 3965
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 168 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Fri 26 Jan, 2018 18:39

fps, может просто разрешить arc:u создавать фрхив?

fps
Posts: 208
Joined: Wed 20 Apr, 2005 06:39
Has thanked: 15 times
Been thanked: 4 times

arclite — работа с архивами на основе 7-Zip

Post by fps » Sat 27 Jan, 2018 05:38

2useven10 wrote:
Fri 26 Jan, 2018 18:39
fps, может просто разрешить arc:u создавать фрхив?
Тоже вариант.

Кстати, про реализацию arc:u
Сейчас команда arc:u -mf file.zip file.zip просто молча стирает файл file.zip

2useven10
Posts: 3965
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 168 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Sat 27 Jan, 2018 16:01

fps wrote:
Sat 27 Jan, 2018 05:38
Сейчас команда arc:u -mf file.zip file.zip просто молча стирает файл file.zip
Делает то что просите.
Планов по углублению защиты от ССЗБ у меня нет.
Есть шанс что сделает Павлов, но только шанс.

askar
Posts: 1
Joined: Tue 30 Jan, 2018 03:00

arclite — работа с архивами на основе 7-Zip

Post by askar » Tue 30 Jan, 2018 03:05

У меня проблема. я переименовал файл .xls в .zip и он не открывает его, а мне нужно в .zip удалить пароль и обратно переименовать его в .xls или .xlsx. как мне это сделать чтобы открыть его именно в .zip?

2useven10
Posts: 3965
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 168 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Tue 30 Jan, 2018 04:30

Чтобы открыть .xls как архив достаточно нажать на нём нажать Ctrl-PgDn, только это не zip а compound архив (.xlsx - это скорее всего действительно zip архив). При этом .xls переименованный в .zip открывается как архив (compound) по Enter.
Так что в чём состоит проблема мне не ясно.
add: да модификация compound архива не поддерживается, возможно проблема в этом...
Last edited by 2useven10 on Tue 30 Jan, 2018 04:37, edited 2 times in total.

Arama
Posts: 111
Joined: Mon 01 Jun, 2015 12:14
Has thanked: 7 times
Been thanked: 2 times

arclite — работа с архивами на основе 7-Zip

Post by Arama » Thu 08 Feb, 2018 19:06

askar wrote:
Tue 30 Jan, 2018 03:05
У меня проблема. я переименовал файл .xls в .zip и он не открывает его, а мне нужно в .zip удалить пароль и обратно переименовать его в .xls или .xlsx. как мне это сделать чтобы открыть его именно в .zip?
:facepalm: какой-то ад! если нужно нужно убрать пароль у xlsx, то не проще открыть его в Excel и убрать пароль? кстати, насколько я помню в xlsx важен порядок файлов в архиве, так что просто распаковать и запаковать обратно не получится.

P.S. а 7z.dll обновят до 18.01?

2useven10
Posts: 3965
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 168 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Thu 08 Feb, 2018 23:02

Arama wrote:
Thu 08 Feb, 2018 19:06
P.S. а 7z.dll обновят до 18.01
да, может завтра...

montonero
Posts: 402
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 2 times
Been thanked: 6 times

arclite — работа с архивами на основе 7-Zip

Post by montonero » Thu 15 Feb, 2018 21:40

Arama wrote:
Thu 08 Feb, 2018 19:06
если нужно нужно убрать пароль у xlsx, то не проще открыть его в Excel и убрать пароль?
Не проще, если пароль неизвестен...
"Far... Far never changes..."

Kirillony
Posts: 211
Joined: Tue 24 Jan, 2006 18:49
Has thanked: 5 times
Been thanked: 1 time

arclite — работа с архивами на основе 7-Zip

Post by Kirillony » Fri 23 Feb, 2018 19:48

Такая проблема:
1. Заходим (по Enter) в архив с паролем:

Code: Select all

╔════════════════════════ Ввод пароля ═════════════════════════╗
║ C:\TEMP\ABC\ABC.rar                                          ║
║ Пароль:                                                      ║
╟──────────────────────────────────────────────────────────────╢
║                      { OK } [ Отмена ]                       ║
╚══════════════════════════════════════════════════════════════╝
2. Оп-паньки, пароль-то мы не знаем - жмём ESC:

Code: Select all

╔═════ Выбор плагина ═════╗
║  arclite                ║
╟─────────────────────────╢
║  Стандартная ассоциация ║
╚═════════════════════════╝
3. Жмём ещё раз ESC, и - оба-на:

Code: Select all

╔═══════════════════════ Исключительная ситуация ════════════════════════╗
║ Исключение:  0xC0000005 - EXCEPTION_ACCESS_VIOLATION                   ║
║ Подробности: Memory at FFFFFFFF could not be read                      ║
║ Адрес:       0x720AB39C - arclite.dll!CloseAnalyseW                    ║
║ Источник:                                                              ║
║ Функция:     CloseAnalyseW                                             ║
║ Модуль:      C:\Program Files\Far3\Plugins\ArcLite\arclite.dll         ║
╟────────────────────────────────────────────────────────────────────────╢
║      { Выгрузить плагин } [ Стек ] [ Минидамп ] [ Игнорировать ]       ║
╚════════════════════════════════════════════════════════════════════════╝
4. Ещё раз ESC, и Far валится целиком:

Code: Select all

╔═══════════════════════ Исключительная ситуация ════════════════════════╗
║ Исключение:  0xC0000005 - EXCEPTION_ACCESS_VIOLATION                   ║
║ Подробности: Memory at FFFFFFFF could not be read                      ║
║ Адрес:       0x720AB39C - arclite.dll!CloseAnalyseW                    ║
║ Источник:                                                              ║
║ Функция:     main                                                      ║
║ Модуль:      C:\Program Files\Far3\Far.exe                             ║
╟────────────────────────────────────────────────────────────────────────╢
║        { Завершить Far } [ Стек ] [ Минидамп ] [ Игнорировать ]        ║
╚════════════════════════════════════════════════════════════════════════╝
Всё это при установленных настройках:

Code: Select all

╔═══════ Plugins manager settings ═══════╗
║ [x] OEM plugins support                ║
║ [x] Scan symbolic links                ║
╟────────────Plugin selection────────────╢
║ [x] File processing                    ║
║   [x] Show standard association item   ║
║     [x] Even if only one plugin found  ║
║ [ ] Search results (SetFindList)       ║
║ [ ] Prefix processing                  ║
╟────────────────────────────────────────╢
║           { OK } [ Cancel ]            ║
╚════════════════════════════════════════╝
У кого-нибудь повторяется этот трэш?

2useven10
Posts: 3965
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 168 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Fri 23 Feb, 2018 20:05

Судя по описанию, версия не самая свежая.
Повторяется ли на последней ночной сборке?
Наблюдается на любом рар архиве с паролем или только на конкретном архиве?

User avatar
DrKnS
Posts: 5397
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 227 times

arclite — работа с архивами на основе 7-Zip

Post by DrKnS » Fri 23 Feb, 2018 20:09

2useven10 wrote:
Fri 23 Feb, 2018 20:05
Судя по описанию, версия не самая свежая.
Судя по скриншотам, как минимум Far не старее 5147.

User avatar
DrKnS
Posts: 5397
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 227 times

arclite — работа с архивами на основе 7-Zip

Post by DrKnS » Fri 23 Feb, 2018 20:27

Kirillony wrote:
Fri 23 Feb, 2018 19:48
3. Жмём ещё раз ESC
Вот в этом месте плагин возвращает из AnalyseW -1.
Согласно Писанию, любой описатель, отличный от NULL, считается валидным описателем.
Поэтому фар отдает этот описатель обратно в CloseAnalyseW, где плагин делает ему delete static_cast<Archives*>(info->Handle);

EXCEPTION_ACCESS_VIOLATION - Memory at FFFFFFFF could not be read - абсолютно ожидаемый в этом случае результат.

2useven10
Posts: 3965
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 168 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Fri 23 Feb, 2018 23:16

Да с такими настройками ПлагМанагера всё плохо.

Собственно проблема в этом:
DrKnS wrote:
Fri 23 Feb, 2018 20:27
любой описатель, отличный от NULL, считается валидным описателем.
Для:
Kirillony wrote:
Fri 23 Feb, 2018 19:48
2. Оп-паньки, пароль-то мы не знаем - жмём ESC:
Нет смысла вообще показывать меню - пароль от этого не вспомнится.
А способа сообщить об этом из AnalyzeW нет.

Для других настроек пришлось прокидывать -2 в Open и уже там возвращать фар -2 = PANELSTOP.
Здесь без переделок в анализе кода возврата придётся анализировать настройки и возвращать NULL,
тогда падать не будет, но будет ненужная попытка открыть архив через ассоциации или другой плагин.

User avatar
DrKnS
Posts: 5397
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 227 times

arclite — работа с архивами на основе 7-Zip

Post by DrKnS » Fri 23 Feb, 2018 23:45

2useven10 wrote:
Fri 23 Feb, 2018 23:16
будет ненужная попытка открыть архив через ассоциации или другой плагин
Это всяко лучше, чем падать.

Однако, если это поведение вам дорого, кто мешает плагину:
- ничего не делать в OpenW, если OpenInfo.OpenFrom == OPEN_ANALYSE && OpenAnalyseInfo.Handle == -1;
- ничего не делать в CloseAnalyseW, если OpenAnalyseInfo.Handle == -1

?

Kirillony
Posts: 211
Joined: Tue 24 Jan, 2006 18:49
Has thanked: 5 times
Been thanked: 1 time

arclite — работа с архивами на основе 7-Zip

Post by Kirillony » Sat 24 Feb, 2018 02:40

По Ctrl-PgDn почти такой же эффект, только:
2.

Code: Select all

╔═ Выбор плагина ══╗
║  arclite         ║
╚══════════════════╝
3. Интересно, что если здесь вместо ESC нажать Enter, то всё ок. (В первом случае так же)

2useven10
Posts: 3965
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 168 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Sat 24 Feb, 2018 07:12

Kirillony wrote:
Sat 24 Feb, 2018 02:40
3. Интересно, что если здесь вместо ESC нажать Enter, то всё ок. (В первом случае так же)
ожидаемо

Post Reply

Return to “Обсуждение плагинов”