Кнопки для 7-Zip
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5 ... 11, 12, 13  Next  :| |:
Total Commander -> Автоматизация Total Commander

#46:  Author: Tol!kLocation: Арзамас PostPosted: Sun Sep 05, 2010 20:01
    —
[offtop]
gora, всё забываю спросить, gora с forum.oszone.net это Вы?
[/offtop]

#47:  Author: goraLocation: Иваново PostPosted: Sun Sep 05, 2010 20:03
    —
Да.

#48:  Author: Tol!kLocation: Арзамас PostPosted: Sun Sep 05, 2010 20:27
    —
Респект!

#49:  Author: Samwatas PostPosted: Sun Sep 05, 2010 21:48
    —
Респекты респектами, конечно, но давайте ближе к нашим баранам (кнопкам 7z). пре-бета версия - http://upload.com.ua/get/901904649/ (исправленная версия) Confused
Подключение:
1. Распаковываем архивчик в папочку с тоталом.
2. Вытягиваем Smart7z.exe как кнопку на панель.
3. Прописываем параметры - %P%N %T%M
Пока поддерживается только 2 режима:
1. В панели источника отмечен 7z архив, в панели приемника - папка (действие - указанный архив распаковывается в указанную папку).
2. В панели источника отмечена папка, в панели приемника - существующий 7z архив (действие - указанная папка добавляется к указанному (существующему!) архиву).
Осталось добавить обработку ещё 2 ситуаций: папка - папка и архив - архив.
Уже поддерживается все 4 режима.

В будущем возможно изменить параметры кнопки на "%P%S - %T%R" (без кавычек) и обрабатывать списки выделенных файлов\папок.


Last edited by Samwatas on Mon Sep 06, 2010 19:59; edited 4 times in total

#50:  Author: Samwatas PostPosted: Mon Sep 06, 2010 13:40
    —
Ладно, пусть будет пре-бета версия Laughing - http://upload.com.ua/get/901904649/ (исправленная версия)
Реализовано все четыре варианта (папка-папка, папка-архив, архив-папка, архив-архив).
Параметры кнопки те же, что и раньше.


Last edited by Samwatas on Mon Sep 06, 2010 19:06; edited 2 times in total

#51:  Author: goraLocation: Иваново PostPosted: Mon Sep 06, 2010 14:12
    —
Samwatas wrote:
В панели источника отмечен 7z архив, в панели приемника - папка (действие - указанный архив распаковывается в указанную папку).
Когда я делал свою кнопку, мне показалось, что одновременная работа с двумя панелями лишь затрудняет пользование кнопкой. У меня архив распаковывается в папку с именем архива рядом с самим архивом. Дабы не затирать одноименную папку, если она уже существует, к имени папки добавляется штамп дата_время. Аналогично производится и упаковка выделенных объектов (файлов/папок). Здесь имя архива формируется несколько иначе. Обновления архива я не предусматривал, не было у меня в нем необходимости, т.к., задачи были несколько иные...
Удобнее ли будет пользователю следить за двумя панелями сразу, а то распакуешь архив в другую панель, а там стояла не та папка, а какая нибудь системная и выгребай потом из нее "мусор"!?!? Sad
Вы так не считаете? Wink
PS
Включение компонентов архиватора в кнопку считаю не верным решением по следующим причинам:
1 Включен только 7zG, а он на х86 и небольшом ОЗУ проигрывает 7z при работе с большими архивами. 7z можно заставить работать со словарем 128 МБ, а вот с 7zG это вряд ли удастся сделать из-за фрагментированности ОЗУ.
2 У пользователя может быть уже установлен архиватор, так зачем же ему еще дополнительные файлы за которыми нужно следить и обновлять при обновлении архиватора!?
3 У пользователя может быть х64 система и архиватор х64, и он (пользователь), при использовании встроенных в кнопку компонентов, лишится всех прелестей х64 архиватора и не сможет использовать свое ОЗУ в полной мере.
PPS
Вариант архив-архив работает странно. Из добавляемого архива (1) в обновляемом (2) появляется структура папок архива 1 и файлы из корня этого архива, а файл из вложенной папки архива 1 появляется в архиве 2, но нулевой длины.

#52:  Author: Samwatas PostPosted: Mon Sep 06, 2010 15:16
    —
Отвечаю по порядку:
Не буду спорить насчёт двух панелей, замечу только, что тотал - это двухпанельный менеджер, поэтому он заточен на работу с 2-мя панелями. Мне кажется, это дело привычки. Хотя я для того и выложил кнопку, чтобы выслушать разные мнения (если большинство выскажется за изменение поведения кнопки то это не сложно будет сделать).
Распаковка архива: я распаковываю архив в указанную папку, вы создаете папку с именем архива (в которую и распаковываете архив). На мой взгляд, оба метода имеют недостатки (я тоже не люблю, когда при распаковке архива в папку с архивом высыпается всё содержимое, однако мне также не очень нравится, когда при распаковке выпадает папка, внутри которой ещё одна папка (прямо матрёшка какая-то) внутри которой уже идут папки с файлами). При желании можно сделать более умную распаковку (если в корне архива только одна папка или один файл, то распаковывать всё это как есть, если же там несколько папок и\или файлов, то создать папку с именем архива для распаковки уже в нее). Это было бы немного лучше, как считаете?
По поводу включения компонентов архиватора - я больше затачивал под портативное использование тотала (если я пришёл куда-то и принёс что-то в 7з-архиве, а там архиватор не установлен, да ещё и устанавливать нельзя или нежелательно?). Если кому-то хочется положить другую версию, то тут нет никаких проблем при условии что там используются те же параметры командной строки (только не забудьте переименовать исполняемый файл в 7zG.exe).
П.С. Архив я перезалил (исправил одну маленькую ошибку).

#53:  Author: Serge Yolkin PostPosted: Mon Sep 06, 2010 15:56
    —
Samwatas wrote:
При желании можно сделать более умную распаковку (если в корне архива только одна папка или один файл, то распаковывать всё это как есть, если же там несколько папок и\или файлов, то создать папку с именем архива для распаковки уже в нее). Это было бы немного лучше, как считаете?
Лучше, если только папка. Некоторые программы в виде одного файла при первом запуске создают еще несколько, так что даже один файл - лучше в отдельную папку. А идея интересная. Очень хотел бы попробовать в исполняемом виде. И, действительно, можно без архиватора.

#54:  Author: goraLocation: Иваново PostPosted: Mon Sep 06, 2010 16:13
    —
Samwatas wrote:
тотал - это двухпанельный менеджер

Я это знаю. Smile Но считаю, что:
- установка в противоположной панели принимающей папки, а часто и создание оной ввиду ее отсутствия - лишние телодвижения.
- извлечение без предупреждения может привести к печальным последствиям в случае случайного нажатия на кнопку (могут быть затерты нужные файлы в не санкционированном месте). В моем варианте будет просто создана новая папка не затирающая ни чего и удалить ее будет легко, если нажатие на кнопку было ошибочным.
Samwatas wrote:
можно сделать более умную распаковку

При этом теряется информация об исходной структуре архива, а иногда она очень важна. Мы, например, не сможем узнать, была ли у Вас в архиве кнопки папка или же все было упаковано без папки. Я от такого варианта отказался.
Samwatas wrote:
затачивал под портативное использование
Тогда ясно "откуда ноги растут", это на любителя.
Samwatas wrote:
при условии что там используются те же параметры командной строки

Исходников-то нет и не ясно какие они у Вас, эти параметры. А хотелось бы на них взглянуть, т.к., думаю и в них можно найти предмет для обсуждения... Вот после этого можно вернутся и к вопросу портабельности...

И еще... 7-Zip распаковывает очень много типов архивов (и не только архивов), почему нужно ограничиваться только расширением .7z? Wink

#55:  Author: Samwatas PostPosted: Mon Sep 06, 2010 19:56
    —
Quote:
- установка в противоположной панели принимающей папки, а часто и создание оной ввиду ее отсутствия - лишние телодвижения

Вполне возможно, поэтому достаточно реализовать "умную" распаковку, чтобы избавиться от этого недостатка (правда буду ли я реализовывать всё это, учитывая мою лень?).
Quote:
извлечение без предупреждения может привести к печальным последствиям в случае случайного нажатия на кнопку (могут быть затерты нужные файлы в не санкционированном месте).

Случайно нажать на кнопку конечно можно, однако случайно перезаписать файлы нельзя (поскольку 7з как и большинство архиваторов запрашивает подтверждение), тем не менее можно добавить вывод окошка типа "вы действительно хотите распаковать этот архив, или просто случайно ткнули в кнопку?" хотя это тоже будет лишнее телодвижение.
Quote:
При этом теряется информация об исходной структуре архива, а иногда она очень важна. Мы, например, не сможем узнать, была ли у Вас в архиве кнопки папка или же все было упаковано без папки. Я от такого варианта отказался.

Опять же не буду спорить (вполне возможно для вас это важно), однаку лично у меня никогда не возникало такой нужды и я даже не могу представить, для чего это мне может хоть когда-нибудь понадобиться.
Quote:
Тогда ясно "откуда ноги растут", это на любителя.

По-моему, портативные программы достаточно удобны. Лично я по возможности стараюсь использовать портативки кроме случаев, когда программа ассоциирует себя с какими-то файлами или прописывается в контекстное меню и т.д. Большинство производителей софта это поняло и тоже облегчает процесс портабелизации своим пользователям, взять хотя бы тот же тотал - сперва начиналось с ключа UseIniInProgramDir, потом пошли переменние типа %COMMANDER_PATH% и внутренние файловые ассоциации и т.д.
Тот же броузер - переставил Виндовс, а в портативном Файрфоксе или Опере всё по прежнему: закладки, сессии, логины и пароли - всё на месте.
Quote:
Исходников-то нет и не ясно какие они у Вас, эти параметры. А хотелось бы на них взглянуть, т.к., думаю и в них можно найти предмет для обсуждения..

Вам нужны исходники? Вы тоже балуетесь Автоитом? Very Happy
Параметры пока стандартные (строго по хелпу):
Для упаковки - 7z.exe а архив.7z папка_упаковки\*
Для распаковки - 7z.exe x архив.7z -o_папка_распаковки
Дополнительные ключи (типа -m, -t и др.) пока не используются (это пока бета версия кнопки Razz ), но при необходимости добавить нужное не составит труда.
Quote:
И еще... 7-Zip распаковывает очень много типов архивов (и не только архивов), почему нужно ограничиваться только расширением .7z?

Ну во-первых тема называется "Кнопки для 7-Zip", во-вторых архивы zip и rar неплохо поддерживаются самим тоталом, остальные... Ну для исо есть плагин (хотя и для 7z он тоже есть, но он меня не очень впечатляет), остальное довольно редкое (хотя всякие гзипы-бзипы у линуксоидов и встречаются часто, тем не менее). Хотя при большой необходимости и это можно добавить. Конкретно вам это нужно, или вы просто спросили?

#56:  Author: goraLocation: Иваново PostPosted: Mon Sep 06, 2010 22:25
    —
Samwatas wrote:
тема называется "Кнопки для 7-Zip"

7-Zip - это название архиватора, а 7z - это основной формат этого архиватора, но далеко не единственный и поддержка кнопкой распаковки других типов архивов не противоречит названию темы.

Я высказал лишь свое мнение, а впрочем кнопка Ваша и Вам принимать решения, себе я уже сделал что хотел.

#57:  Author: Samwatas PostPosted: Mon Sep 06, 2010 22:37
    —
gora wrote:
Samwatas wrote:
тема называется "Кнопки для 7-Zip"

... а 7z - это основной формат этого архиватора, но далеко не единственный и поддержка кнопкой распаковки других типов архивов не противоречит названию темы.

Повторюсь, из других форматов рар и зип поддерживаются тоталом, остальные достаточно редкие, хотя если будут запросы, то это можно добавить. Хотя Вам, я так понимаю, это не нужно, поскольку себе вы уже сделали необходимый набор кнопок. Кстати, позвольте полюбопытствовать, сколько у вас кнопок такой направленности, и чем они сделаны (обычные батники?)?

#58:  Author: goraLocation: Иваново PostPosted: Mon Sep 06, 2010 22:47
    —
Samwatas wrote:
сколько у вас кнопок такой направленности

Кнопка всего одна, та что не понравилась топикстартеру в первом посте.

#59:  Author: Samwatas PostPosted: Mon Sep 06, 2010 22:54
    —
И она одна всё делает (упаковку, распаковку и т.д.)?

#60:  Author: goraLocation: Иваново PostPosted: Mon Sep 06, 2010 23:02
    —
Да



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5 ... 11, 12, 13  Next  :| |:
Page 4 of 13

Powered by phpBB © 2001, 2005 phpBB Group