Выделение файлов в обеих панелях

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

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

Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Выделение файлов в обеих панелях

Сообщение Dimsok »

Возможно? Например, для удаления
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Кнопка с использованием утилиты TCFS2 с дополнительным модулем TCFS2Tools:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(3302) tcm(4002) tcm(3302) tcm(4001), test(L_isActive) | tcm(3302) tcm(4001) tcm(3302) tcm(4002)"
wcmicons.dll,39
Выделить все файлы в обеих панелях


-1
Аватара пользователя
Staniclaw
Сообщения: 533
Зарегистрирован: Вс дек 12, 2010 15:37
Откуда: Ташкент

Сообщение Staniclaw »

Ещё вариант: выделение в другой панели тех же файлов, что и в активной. Можно скриптом, или той же TCFS2, но можно просто и дубово -- две кнопки.

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

TOTALCMD#BAR#DATA
cm_CopyNamesToClip,cm_FocusLeft,cm_LoadSelectionFromClip

wcmicons.dll,18
Выделить то же в левой панели


-1

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

TOTALCMD#BAR#DATA
cm_CopyNamesToClip,cm_FocusRight,cm_LoadSelectionFromClip

wcmicons.dll,19
Выделить то же в правой панели


-1
Кнопки сначала копируют в буфер имена выделенных файлов, переносят фокус в другую панель и там загружают выделение из буфера. Первая переносит выделение в левую панель, вторая -- в правую.

К сожалению, в самом "Тотале" нет команды активации именно противоположной панели -- только именно левой или же правой.
Вечному двигателю -- вечные тормоза!..
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Staniclaw
Зачем вообще буфер дёргать? Да ещё 2 кнопки..
Если бы был не так важен момент с сохранением фокуса в левой панели, то команда была бы такой: 3302,4001,3302,4002,3302
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Staniclaw
Сообщения: 533
Зарегистрирован: Вс дек 12, 2010 15:37
Откуда: Ташкент

Сообщение Staniclaw »

Flasher
Ваши с sa команды выделяют все файлы, а мои -- выделяют в другой панели такие же файлы, что и те, что выделены в текущей. Конечно, мой вариант неоптимален -- какое там. :| Но если написать скрипт, делающий то же самое, но при этом проверяющий, какая панель активна, левая или правая (в TCFS2Tools есть такие функции) -- тогда можно обойтись одной кнопкой. Если Димсоку нужно это, а не что-то ещё.
Вечному двигателю -- вечные тормоза!..
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Staniclaw писал(а):Но если написать скрипт, .... тогда можно обойтись одной кнопкой.
Какой интересный поток мыслей. :D
Staniclaw писал(а):Если Димсоку нужно это, а не что-то ещё.
Возникли мысли, что нужно что-то, отличное от заданного? Как неожиданно. :)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Staniclaw
Сообщения: 533
Зарегистрирован: Вс дек 12, 2010 15:37
Откуда: Ташкент

Сообщение Staniclaw »

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

Сообщение Flasher »

Staniclaw
А нужно ли густо, когда есть "достаточно"? Ответом sa тут вполне можно было бы ограничиться и не собирать половинчатые решения.

Единственное, я бы кнопку записал так:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(3302) if(L_isActive, tcm(4002)+tcm(3302)+tcm(4001), tcm(4001)+tcm(3302)+tcm(4002))"
wcmicons.dll,70
Выделить все файлы в обеих панелях
Последний раз редактировалось Flasher Пт авг 28, 2015 21:51, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher
В варианте с if функция eval по-моему избыточна.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa
Убрал.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Ну выделять все это одно. Я думал можно выборочно, пощёлкал в одной панели, потом в другой с ctrl. Подсветка в обеих сохраняется. Разработчику сложно это реализовать? Функциональность возросла бы до небес.

Добавлено спустя 57 минут:
Единственное, я бы кнопку записал так
Выделяет, но и только. Так же, как с ручным выделением, оперировать всеми выделенными файлами нельзя. Выделяет, например, по два текстовых файла в обеих панелях, жму удалить, но удаляет только в одной.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Как задача поставлена, так и решена.
Ни про какие "выборочно" (а границы у этого понятия весьма широкие) и реализацию непосредственно удаления речь не велась. Написано, что и для чего (например, для ...).
Что сложно или несложно разработчику спрашивать на этом форуме не имеет никакого смысла.
Удалять файлы с обеих сторон самим ТС реально только с помощью инструмента синхронизации. Собственно, его функционала в этом отношении и бывает достаточно после проведения сравнительных тестов.
Для удаления элементов в обеих панелях лучше работать со списками в скриптах.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Re: Выделение файлов в обеих панелях

Сообщение Dimsok »

Dimsok писал(а):Например, для удаления
Тут разве не указано для чего? А смысл выделять просто так? Для цветового баланса, чтоб в глазах не рябило?
Последний раз редактировалось Dimsok Сб авг 29, 2015 12:37, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение sa »

Уже не актуально, но название темы провоцирует...
Для выделения можно обойтись и средствами самого тотала, причём без потери фокуса. Потребуется создать пользовательскую команду (в примере она названа em_selt), для которой указать в строке "Команда:" SELECTFILEST, а в строке "Параметры:" *.* (для случая выделения всех файлов). Кнопка:

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

TOTALCMD#BAR#DATA
3302,em_selt

wcmicons.dll,39
Выделить все файлы в обеих панелях


-1
Для небольшого количества файлов возможны варианты выборочного выделения с %S в строке "Параметры:" команды em_selt (как с предложенной кнопкой, так и с кнопкой без 3302 в сцепке команд). Жалко, что команда SELECTFILES из передаваемой ей строки параметров (например, через %S это может быть строка до 32767 символов) обрабатывает лишь 1000 с хвостиком символов.
Ответить