Выбрать в другой панели объект с именем подкурсорного
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Выбрать в другой панели объект с именем подкурсорного Author: Viktor PostPosted: Sat Apr 04, 2020 18:49
    —
Помогите реализовать эту мелкую но полезную "фишку". Недавно перешел на Total Commander, до этого пользовалься Frigate Professional фаловым менеджером. В нем была команда (alt+Q) которая ищет файл(или папку) с тем же именем в другой панели и ставила туда неактивный курсор (InactiveFocus). Это очень удобно при копировании по F5 быстро найти последний файл и перейти на него по TAB. Или просто найти файл с тем же именем для того чтобы сравнить его с текущим. Возможно ли создать пользовательскую команду и задать "hotkey".

Last edited by Viktor on Sat Apr 04, 2020 19:52; edited 1 time in total

#2:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Apr 04, 2020 19:37
    —
Viktor
В стандартном функционале TC такой возможности нет. В текущем подфоруме по автоматизации — ждите, что ответят (если подобное возможно)
А Ctrl+Q в нормальных файловых менеджерах подобного типа открывает на месте другой панели окно быстрого поиска. И во Frigate тоже, а ваша операция делается там по Alt+Q (этот ФМ перестал обновляться 12 лет назад, я им давно не пользуюсь, но справка осталась).
Кроме того, языком данного форума является русский, так что обходитесь без ''hotkey'. И вообще поаккуратнее с правописанием.
И не надо больше ничего править!
Заголовок темы приведён в более внятное состояние.

#3:  Author: FlasherLocation: Москва PostPosted: Sat Apr 04, 2020 20:37
    —
Viktor wrote:
с тем же именем
Команда: %COMMANDER_EXE% /A /O /S
Параметры: /R=%T%N

Команда: %COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef
Параметры: "tcd(,<`%T%v\:`>,S,1)"

Если речь о полном (путевом) имени, то T меняем на P.
Связать em_ команду с Alt+Q на странице Разное настроек, полагаю, не проблема.

P.S.: Уверен, что где-то это обсуждалось.

#4:  Author: Viktor PostPosted: Mon Apr 06, 2020 11:58
    —
Спасибо Flasher вцелом то что нужно, но есть 2 проблемы:
1- если открыт "\\Рабочий стол\" выдаст ошибку "Диск не найден" или когда в другой панели FTP (мне кажется это связано с наклоном косой "/" вместо "\") то ничего не происходит Sad
2- не критично, но когда ищу в папку в другой панели она открывается.

#5:  Author: sa PostPosted: Mon Apr 06, 2020 13:49
    —
Viktor
Здесь можно ещё посмотреть.
Если выделение не требуется, то сцепку можно дополнить командой снятия выделения (cm_ClearAll):
cm_CopyNamesToClip,cm_FocusTrg,cm_LoadSelectionFromClip,cm_GoToFirstEntry,cm_GotoNextSelected,cm_ClearAll,cm_FocusTrg

#6:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Apr 06, 2020 14:33
    —
sa
Предложенный вариант имеет какие-то преимущества перед предыдущими? А о выделении тут речи вообще не было, требовалось правильно позиционировать неактивный курсор — и только.

Viktor
Да, ничего не происходит, если в целевой панели виртуальная папка или FTP (если в исходной — работает). Да, папка в целевой панели при такой навигации открывается. Совсем без ограничений вряд ли удастся обойтись.

#7:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Mon Apr 06, 2020 14:45
    —
Бывает, что распаковываешь архив на пассивную панель, ставя третью птицу ("Unpack each archive..."), а там очень много похожих архивов. Тогда, чтобы показать директорию именно только что распакованного, вместо команды Flasher
Flasher wrote:
Команда: %COMMANDER_EXE% /A /O /S
Параметры: /R=%T%N
пишем %О вместо %N

#8:  Author: sa PostPosted: Mon Apr 06, 2020 14:58
    —
Avada wrote:
Предложенный вариант имеет какие-то преимущества перед предыдущими?

Это обязательное условие размещения сообщения?
Сцепка, позиционируясь на папке, не открывает её, с "Рабочим столом" работает.

#9:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Apr 06, 2020 14:58
    —
Вахмурка
Видимо, и в этом есть практичеcкая польза, но запрашивалась всё-таки другая задача. Опять же в целевой панели может оказаться файл без расширения с тем же именем, что у файла под курсором, а у архивов могут быть двойные расширения (например *.fb2.zip).

#10:  Author: FlasherLocation: Москва PostPosted: Mon Apr 06, 2020 15:04
    —
Viktor
Из всех рассмотренных мной вариантов самый симпатичный следующий:
Code:
'======================== VBS ========================
'   Установить курсор на объекте в пассивной панели
'   с именем объекта под курсором в активной панели
'
' Условия:  1) необходим компонент TCScript.dll
'           2) необходима команда em_selectfilesb, где
'           selectfilesb в первом поле, а %A во втором
'=====================================================
With CreateObject("TCScript.Helper")
  .Pause = 0 : .Wait = True : .LockTC 1
  IsSelected = .GetInfo(1007 - .GetInfo(1000))
  Name = .GetInfo("SN") : .SendCommand 4006, 1
  If Name = ".." Then
    If .GetInfo(1009) + .GetInfo(1010) = 2 Then .SendKeyStroke "{HOME}"
  Else If IsSelected Then C = .GetTextFromClip : .SendCommand 2017, 1
    .SendCommand  524, 1 : .UserCmd "em_selectfilesb """ & Name & """"
    .SendCommand 2049, 1 : .SendCommand 2053, 1 : .SendCommand 524, 1
    If IsSelected Then .SendCommand 2033, 1 : .SetTextToClip C
  End If
  .SendCommand 4006, 1 : .LockTC 0
End With
Помимо запрошеных пунктов здесь сохраняется выделение и не видно лишних мельтешений в панелях.

Last edited by Flasher on Thu Apr 09, 2020 13:09; edited 5 times in total

#11:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Apr 06, 2020 15:05
    —
sa
В ответ на мой вопрос можно было:
а) просто огрызнуться;
б) ответить по существу (чего я и хотел).
Каждый из вариантов имеет право на существование, но поодиночке, а не в сцепке.

Flasher
Честно говоря, я перестал понимать, что именно в этой теме сейчас обсуждается и насколько соотносится с исходным запросом (не ставя под сомнение качество самих предложений). И с каждым следующим постом моё непонимание растёт.

#12:  Author: FlasherLocation: Москва PostPosted: Mon Apr 06, 2020 16:10
    —
Avada
Ладно, поправил шапку. Так яснее?

#13:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Apr 06, 2020 16:20
    —
Flasher
Да, безусловно.

#14:  Author: Viktor PostPosted: Mon Apr 06, 2020 23:00
    —
Скрипт от Flasher'a не смог запустить Sad . Спасибо за работу и отзывчивость но я не разобрался где достать TCScript.dll и команду em_selectfilesb:
Flasher wrote:
' Условия: 1) необходим компонент TCScript.dll
' 2) необходима команда em_selectfilesb, где
' selectfilesb в первом поле, а %A во втором

Буду благодарен если в двух словах опишите что сделать для запуска скрипта.

Использовал метод sa, он мне подходит поскольку прост в использовании, работает как с виртуальными папками так и в FTP соединениях.

#15:  Author: sa PostPosted: Tue Apr 07, 2020 00:46
    —
Viktor
Поскольку рассматриваемая сцепка изначально предназначалась для выделения нескольких файлов/папок из активной в пассивной панели, то для работы исключительно с объектом под курсором имеет смысл сцепку начать командой снятия выделения в активной панели (cm_ClearAll).



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


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

Goto page 1, 2  Next  :| |:
Page 1 of 2

Powered by phpBB © 2001, 2005 phpBB Group