Страница 3 из 3
Добавлено: Чт дек 01, 2005 12:43
bobius
Batya писал(а):Тогда выходит, что 10-я бетка гючит
Вот и мне так кажется...
Batya писал(а):И что-то я не понял, что ты потом пытаешься скопировать и куда?
Вместо распаковки я выполняю копирование нужного архива (это не критично - распакую потом), но не вставляю заранее заданный путь, а предварительно открываю каталог назначения в противоположной панели - как делал бы это руками. Этот каталог назначения висит на следующей вкладке правой панели.
Batya писал(а):Идеальный вариант - распаковывать при помощи WinRar.
Я об этом же думаю. Если копирование перестанет устраивать, сделаю так.
Добавлено: Чт дек 01, 2005 12:47
Volniy
Batya писал(а):Тогда выходит, что 10-я бетка гючит
Я думаю, что показ модального диалог распаковки сбрасывает блокировку окна Тотала. Наверное, надо указывать LockTC уже после закрытия диалога распаковки.
Я уже писАл, только может быть в старом форуме. Дело в том, что Тотал Коммандер совсем даже и не хочет чтобы им управляли. И, соответственно,
не предоставляет никакого программного интерфейса для управления им (я даже не знаю откуда прознали о возможности отсыла ему внутренних команд через SendMessage, похоже это тоже недокументированная фича). И уж тем более, он никогда не сообщает результаты выполнения внешних команд. Так что все, что делает, ScriptHelper, он делает скорее
вопреки чаяниям Тотала, и в какой-то мере это хак.
Поэтому я прошу не путать Script Helper с плагинами, где все происходит в тесном взаимодействии через специальное PluginsAPI и при полном взаимном согласии. Фактически все это означает, что при использовании любой комманды нужны проверять, а как же там на нее прореагировал этот Тотал.
Вот такие дела.

Добавлено: Чт дек 01, 2005 15:05
Batya
Volniy
ОК. Понято. Никто и не требует от Хэлпера невозможного.
(с) "Всё равно его не брошу, потому что он хороший!"
bobius
Вместо распаковки я выполняю копирование нужного архива (это не критично - распакую потом), но не вставляю заранее заданный путь, а предварительно открываю каталог назначения в противоположной панели - как делал бы это руками. Этот каталог назначения висит на следующей вкладке правой панели.
А зачем столько мучений? Зачем в TC открывать такой каталог?
Добавлено: Чт дек 01, 2005 16:46
bobius
Batya писал(а):ОК. Понято. Никто и не требует от Хэлпера невозможного.
Согласен.
Batya писал(а):А зачем столько мучений? Зачем в TC открывать такой каталог?
Я уже объяснял: изначально мы находимся в правой панели - это содержимое архива; первый таб переводит нас в левую панель; если после этого запустить копирование (по команде Copy), то ТС запустит диалог "Добавление в архив" - он думает, что мы собираемся копировать файл в архив. Поэтому я сначала делаю так, чтобы правая панель содержала обычный каталог.
Добавлено: Чт дек 01, 2005 17:47
Batya
bobius
Я уже объяснял: изначально мы находимся в правой панели - это содержимое архива; первый таб переводит нас в левую панель; если после этого запустить копирование (по команде Copy), то ТС запустит диалог "Добавление в архив" - он думает, что мы собираемся копировать файл в архив. Поэтому я сначала делаю так, чтобы правая панель содержала обычный каталог.

Этот способ называется "через одно место".
Только не обижайся. Просто ты выбрал действительно, мягко говоря, "не самый простой путь".
Во-первых, можно копировать средствами Windows. Во-вторых, можно воспользоваться сторонними программами (например, killcopy - рекомендую). Ну и наконец, очень просто обойтись средствами TC - надо послать не команду "Копировать" (ты, вероятно, просто генеришь нажатие F5), а послать команду "Копировать в текущий каталог" (Shift+F5). При этом никто тебе не запрещает сюда вставить путь (ограничение - каталог назначения уже должен существовать). И чтобы не мучиться с фоном, в wincmd.ini в секции [Configuration] укажи AlwaysCopyInBackground=1.
Примерный код:
Код: Выделить всё
Option Explicit
Dim MyDir
'=== Каталог для распаковки: ===
MyDir = "C:\Interesting"
'===============================
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.SendKeystroke ("{Tab}")
TCS.SendCommand ("cm_CopySamepanel")
TCS.SendKeystroke ("{HOME}" & MyDir & "\{Enter}")
TCS.SendCommand ("cm_FocusRight")
TCS.LockTC False
Set TCS=Nothing
Wscript.Quit
Добавлено: Чт дек 01, 2005 18:35
bobius
Batya писал(а):
Этот способ называется "через одно место".
Только не обижайся. Просто ты выбрал действительно, мягко говоря, "не самый простой путь".
Согласен.

Это первое, что пришло в голову.
Batya писал(а):... надо послать не команду "Копировать" (ты, вероятно, просто генеришь нажатие F5)...
cm_Copy
Batya писал(а):... а послать команду "Копировать в текущий каталог" (Shift+F5). При этом никто тебе не запрещает сюда вставить путь (ограничение - каталог назначения уже должен существовать).
Кто ж знал...
Batya писал(а):... укажи AlwaysCopyInBackground=1.
Естественно, у меня в фоне всегда копирует.
Скрипт сегодня опробую, как с работы вернусь.
Добавлено: Чт дек 01, 2005 20:11
bobius
Работает. Изящно. На этом пока можно остановиться. Спасибо.

Добавлено: Чт июл 12, 2007 04:08
Ник
Хотелось бы, чтобы какой-нибудь архиваторный плагин всё-таки работал напрямую с <Ctrl-Q> и выдавал в противоположной панели список файлов...
Добавлено: Пт июл 13, 2007 12:15
Моторокер
Ник, со всеми подпапками?
А когда на какой-нибудь объёмный rar встанешь?
И чтобы перемещаться по ним можно было?
А потом ещё и копировать из них/в них?
А потом ещё и просматривать файлы?
А потом…
или просто список папок с подпапками, файлами?
Добавлено: Пт июл 13, 2007 12:43
Ник
Просто список в корневой папок и подпапок - для "узнавания" архива.
Можно даже выводить первые 30 директорий и первые 50 файлов и писать "и так далее".
Переходы делать бессмысленно - есть же вход в архивы как в директории - нужен, ИМХО, именно быстрый листер-плагин.
Добавлено: Пт июл 13, 2007 14:33
Моторокер
Можно задать ограничение по времени. Но первые файлы в архиве – это не первые видимые файлы и даже не папки, т.е. уже листер покажет корневую папку неверно, может даже вообще папки не показать. Будет ли это этого польза? Не будет ли это пугать?
Добавлено: Пт июл 13, 2007 15:48
Ник
Видимо, нужно для каждого типа архива продумывать свою стратегию показа...
Ведь нужен только список - без размера и дат (пока что).
В конце-концов, листер ArchView даёт полный список, насколько я помню - т.е. важен именно быстрый список "прикидочный".
Добавлено: Чт окт 05, 2017 05:13
i1
Появились ли с 2007 года плагины для решения поставленного вопроса для редакции Total Commander x64?
Добавлено: Чт окт 05, 2017 06:19
Avada
i1
Здесь по мере обсуждения ставились разные вопросы. И для их решения никто ничего специально с тех пор не писал. Включая и 64-битный аналог ArchView.