View previous topic :: View next topic |
Author |
Message |
Viktor
Joined: 04 Apr 2020 Posts: 3
|
(Separately) Posted: Sat Apr 04, 2020 18:49 Post subject: Выбрать в другой панели объект с именем подкурсорного |
|
|
Помогите реализовать эту мелкую но полезную "фишку". Недавно перешел на 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 |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
(Separately) Posted: Sat Apr 04, 2020 19:37 Post subject: |
|
|
Viktor
В стандартном функционале TC такой возможности нет. В текущем подфоруме по автоматизации — ждите, что ответят (если подобное возможно)
А Ctrl+Q в нормальных файловых менеджерах подобного типа открывает на месте другой панели окно быстрого поиска. И во Frigate тоже, а ваша операция делается там по Alt+Q (этот ФМ перестал обновляться 12 лет назад, я им давно не пользуюсь, но справка осталась).
Кроме того, языком данного форума является русский, так что обходитесь без ''hotkey'. И вообще поаккуратнее с правописанием.
И не надо больше ничего править!
Заголовок темы приведён в более внятное состояние. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Apr 04, 2020 20:37 Post subject: |
|
|
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.: Уверен, что где-то это обсуждалось. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Viktor
Joined: 04 Apr 2020 Posts: 3
|
(Separately) Posted: Mon Apr 06, 2020 11:58 Post subject: |
|
|
Спасибо Flasher вцелом то что нужно, но есть 2 проблемы:
1- если открыт "\\Рабочий стол\" выдаст ошибку "Диск не найден" или когда в другой панели FTP (мне кажется это связано с наклоном косой "/" вместо "\") то ничего не происходит
2- не критично, но когда ищу в папку в другой панели она открывается. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2624
|
(Separately) Posted: Mon Apr 06, 2020 13:49 Post subject: |
|
|
Viktor
Здесь можно ещё посмотреть.
Если выделение не требуется, то сцепку можно дополнить командой снятия выделения (cm_ClearAll):
cm_CopyNamesToClip,cm_FocusTrg,cm_LoadSelectionFromClip,cm_GoToFirstEntry,cm_GotoNextSelected,cm_ClearAll,cm_FocusTrg |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
(Separately) Posted: Mon Apr 06, 2020 14:33 Post subject: |
|
|
sa
Предложенный вариант имеет какие-то преимущества перед предыдущими? А о выделении тут речи вообще не было, требовалось правильно позиционировать неактивный курсор — и только.
Viktor
Да, ничего не происходит, если в целевой панели виртуальная папка или FTP (если в исходной — работает). Да, папка в целевой панели при такой навигации открывается. Совсем без ограничений вряд ли удастся обойтись. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2585 Location: Большая деревня Москва
|
(Separately) Posted: Mon Apr 06, 2020 14:45 Post subject: |
|
|
Бывает, что распаковываешь архив на пассивную панель, ставя третью птицу ("Unpack each archive..."), а там очень много похожих архивов. Тогда, чтобы показать директорию именно только что распакованного, вместо команды Flasher'а
Flasher wrote: | Команда: %COMMANDER_EXE% /A /O /S
Параметры: /R=%T%N | пишем %О вместо %N _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2624
|
(Separately) Posted: Mon Apr 06, 2020 14:58 Post subject: |
|
|
Avada wrote: | Предложенный вариант имеет какие-то преимущества перед предыдущими? |
Это обязательное условие размещения сообщения?
Сцепка, позиционируясь на папке, не открывает её, с "Рабочим столом" работает. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
(Separately) Posted: Mon Apr 06, 2020 14:58 Post subject: |
|
|
Вахмурка
Видимо, и в этом есть практичеcкая польза, но запрашивалась всё-таки другая задача. Опять же в целевой панели может оказаться файл без расширения с тем же именем, что у файла под курсором, а у архивов могут быть двойные расширения (например *.fb2.zip). _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 06, 2020 15:04 Post subject: |
|
|
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 | Помимо запрошеных пунктов здесь сохраняется выделение и не видно лишних мельтешений в панелях. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Thu Apr 09, 2020 13:09; edited 5 times in total |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
(Separately) Posted: Mon Apr 06, 2020 15:05 Post subject: |
|
|
sa
В ответ на мой вопрос можно было:
а) просто огрызнуться;
б) ответить по существу (чего я и хотел).
Каждый из вариантов имеет право на существование, но поодиночке, а не в сцепке.
Flasher
Честно говоря, я перестал понимать, что именно в этой теме сейчас обсуждается и насколько соотносится с исходным запросом (не ставя под сомнение качество самих предложений). И с каждым следующим постом моё непонимание растёт. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 06, 2020 16:10 Post subject: |
|
|
Avada
Ладно, поправил шапку. Так яснее? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
(Separately) Posted: Mon Apr 06, 2020 16:20 Post subject: |
|
|
Flasher
Да, безусловно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Viktor
Joined: 04 Apr 2020 Posts: 3
|
(Separately) Posted: Mon Apr 06, 2020 23:00 Post subject: |
|
|
Скрипт от Flasher'a не смог запустить . Спасибо за работу и отзывчивость но я не разобрался где достать TCScript.dll и команду em_selectfilesb:
Flasher wrote: | ' Условия: 1) необходим компонент TCScript.dll
' 2) необходима команда em_selectfilesb, где
' selectfilesb в первом поле, а %A во втором |
Буду благодарен если в двух словах опишите что сделать для запуска скрипта.
Использовал метод sa, он мне подходит поскольку прост в использовании, работает как с виртуальными папками так и в FTP соединениях. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2624
|
(Separately) Posted: Tue Apr 07, 2020 00:46 Post subject: |
|
|
Viktor
Поскольку рассматриваемая сцепка изначально предназначалась для выделения нескольких файлов/папок из активной в пассивной панели, то для работы исключительно с объектом под курсором имеет смысл сцепку начать командой снятия выделения в активной панели (cm_ClearAll). |
|
Back to top |
|
|
|