Автоматизация выделения средствами TC

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Автоматизация выделения средствами TC

Сообщение Афи »

В командах с параметрами есть такие команды:
- LOADSEARCH (открывает сохраненные параметры поиска по его имени)
- SELECTFILES (выделяет объекты по указанной маске, но не по имени шаблона).
Нет ли возможности одной командой выделить объекты, соответствующие шаблону поиска/выделения, используя его имя?

Если такой возможности нет (средствами TC), то, может, написать эту "хотелку" сюда? Если это, конечно, кому-то нужно...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Афи
Правильно понимаю, что команда cm_SelectBoth (Выделить группу: файлы и папки) с последующим указанием имени шаблона не устраивает?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

sa
Можно использовать и cm_SpreadSelection и cm_SelectBoth и другие. Но это уже несколько действий:
1) Команда (кнопка или хоткей).
2) Щелчок на имени шаблона в списке (а, может, еще и прокрутка — список длинный).
3) Нажатие кнопки OK.
Ну, или вместо пп. 2, 3 двойной щелчок на имени шаблона.
Хотелось бы одной командой. Как в SELECTFILES, но не с маской, а с именем.

Flasher
Попробовал. Увы, почему-то не работает. Пишет "Такие файлы не найдены". Кнопка такая:

Код: Выделить всё

TOTALCMD#BAR#DATA
nircmd.exe execmd nircmd.exe clipboard set ">Архивы" & nircmd.exe sendkeypress 0x6D Ctrl+V Enter
& "nircmd cmdwait 0 clipboard clear"
wcmicons.dll,40
Снять выделение с архивов
%COMMANDER_PATH%\Apps\Utilities\NirCmd\

-1
Что-то не так?
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Афи писал(а):Но это уже несколько действий
Для ускорения процесса пользуюсь кнопками с TCFS2, наподобие приведённой в этом посте.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

sa
Попробовал ваш вариант, только чуть исправил под себя:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Apps\ForTC\TCFS2\TCFS2.exe
/ef "tcm(524) tcm(3311,1) eval(send_wait(@`>Архивы`, findwnd(`TCOMBOINPUT`))) send(`{ENTER}`, findwnd(`TCOMBOINPUT`))"
WCMICONS.DLL,39
Выделение архивов


-1
Не срабатывает. Дает такое вот диалоговое окошко:
Изображение
В чем ошибка?
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Афи
Файл TCFS2.ini надо переложить из подпапки RU в папку с утилитой.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

sa
Теперь работает, спасибо!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Только параметры такие:

Код: Выделить всё

/ef tcm(524) tcm(3311,1) eval(send_wait(@>Архивы,findwnd(`TCOMBOINPUT`))) send({ENTER},0)
Лишнее тут ни к чему.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher
Ты хотя бы кавычки (после /ef и в конце) оставил – уж они точно не лишние.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa
В моём случае точно лишние.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

А пара косых вокруг TCOMBOINPUT не лишние?
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

Окончательно сделал так.
Для выделения по шаблону "Объекты, имеющие комментарии":

Код: Выделить всё

/ef tcm(3311,1) eval(send_wait(@`>Объекты, имеющие комментарии`,findwnd(`TCOMBOINPUT`))) send({ENTER},0)
Для снятия выделения по шаблону "Объекты, имеющие комментарии":

Код: Выделить всё

/ef tcm(3316,1) eval(send_wait(@`>Объекты, имеющие комментарии`,findwnd(`TCOMBOINPUT`))) send({ENTER},0)
С TCFS2 раньше не работал. sa и Flasher, спасибо за помощь!
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher, Афи
Предпочту следовать этим параграфам инструкции:
Не будет ошибкой, если каждый строковый параметр будет заключен в косые кавычки.
Каждый вызов команды, содержащий пробелы, должен быть заключен в кавычки. Также в кавычки следует заключать прямое содержимое команд (после параметра /ef). Не заключайте в общие кавычки более одного вызова действия или команды (после параметров /ea и /ei). Смотрите примеры ниже.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa
ОК. Следовать добавочным допущениям - это выбор сомнительный, но всё-таки выбор. Никто винить не будет. А другие тем временем выберут лаконичность.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить