А вот за это - спасибо, не знал. Фактически это решает начальную проблему, остаётся только проблема с логикой поведения Escape.sa писал(а):Ну восстановить-то фильтр нетрудно: Ctrl-Shift-S.
Предложение по улучшению быстрого фильтра
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Видимо концепция быстрого фильтра заключается в том, что он в самом деле должен быстрым и не предполагает каких-то длительных операций, которые нельзя прерывать по Escape, то есть он работает по принципу - или всё сразу, или ничего. Для других целей есть обычные фильтры. Но и с ними не всё одинаково: при включенном фильтре "Только выделенные файлы" команда "Подсчёт размеров подкаталогов текущего каталога" работает для отфильтрованных каталогов, а команда "Показать все файлы без подкаталогов" не учитывает фильтр...D1P писал(а):остаётся только проблема с логикой поведения Escape.
Для вызова последнего использованного фильтра, минуя клавиатуру, завёл себе кнопку на панели задач.
Ввиду отсутствия соответствующей внутренней команды, использовал сценарий (файл: Send_Ctrl-Shift-S.vbs):
Сценарий повесил на кнопку:
Диск и путь к файлу Send_Ctrl-Shift-S.vbs нужно заменить на свои.
Может, кому пригодится...
Ввиду отсутствия соответствующей внутренней команды, использовал сценарий (файл: Send_Ctrl-Shift-S.vbs):
Код: Выделить всё
'===========================================================
' Посылает комбинацию клавиш Ctrl+Shift+S
'===========================================================
Dim WSH
Set WSH = WScript.CreateObject("WScript.Shell")
WSH.SendKeys "^+S"
Set WSH = Nothing
Wscript.QuitКод: Выделить всё
TOTALCMD#BAR#DATA
Диск:\путь\к\файлу\Send_Ctrl-Shift-S.vbs
Totalcmd.exe,26
Вывести диалог быстрой фильтрации/поиска и применить последний использованный фильтр
0
-1
Может, кому пригодится...
Приспособил такую кнопку для упрощения работы с фильтром быстрого поиска:
Применяю её, в том числе и при активном фильтре быстрого поиска, когда нужно показать все файлы, если некоторые из них оказались скрытыми после применения фильтров типа "Программы", "Только выделенные объекты", "Файлы не старше 1 часа" и т.п. Дело в том, что внутренняя команда cm_SrcAllFiles (Ctrl+F10) отключает фильтр быстрого поиска и приходится применять его заново.
По такому же принципу завёл и пользовательскую команду, которую использую вместо cm_SrcAllFiles в случаях, когда нужно сохранить активность фильтра.
Add
Порой требуется ввести быстрый фильтр поверх уже имеющегося (то есть новый фильтр применить к отфильтрованным объектам).
Кнопка с использованием утилиты TCFS2:Без утилиты TCFS2 примерным аналогом в TC будет связка команд 3301,2023,524,2915.
Внимание! Поскольку задействованный в кнопке режим показа только выделенных файлов сильно зависит от изменений в файловой системе (и даже от переключения на другую программу с последующим возвратом в TC), то последний активный фильтр в панели в итоге (после изменений в файловой системе, например) может оказаться применённым ко всем объектам, а не к предварительно отфильтрованным. Увидеть до этого отобранные файлы всё же можно - с помощью команды "Восстановить выделение".
Код: Выделить всё
TOTALCMD#BAR#DATA
cd *.*
wcmicons.dll,13
Показать все файлы (при активном фильтре быстрого поиска - с его учётом)
-1
По такому же принципу завёл и пользовательскую команду, которую использую вместо cm_SrcAllFiles в случаях, когда нужно сохранить активность фильтра.
Add
Порой требуется ввести быстрый фильтр поверх уже имеющегося (то есть новый фильтр применить к отфильтрованным объектам).
Кнопка с использованием утилиты TCFS2:
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(3301) tcm(2023) tcm(524) send(`^+S`) send(`{BS 100}`)"
%COMMANDER_PATH%\Totalcmd.exe,26
Ввести быстрый фильтр (при уже активном - поверх него)
-1
Внимание! Поскольку задействованный в кнопке режим показа только выделенных файлов сильно зависит от изменений в файловой системе (и даже от переключения на другую программу с последующим возвратом в TC), то последний активный фильтр в панели в итоге (после изменений в файловой системе, например) может оказаться применённым ко всем объектам, а не к предварительно отфильтрованным. Увидеть до этого отобранные файлы всё же можно - с помощью команды "Восстановить выделение".
Тихо сам с собою, я веду беседу.
Она пригодится для восстановления выделения и быстрого фильтра (созданного с иcпользованием предложенной выше кнопки "Ввести быстрый фильтр…") в том числе и в ранее посещённой вкладке, где фильтр автоматически сбрасывается при переключении на другие вкладки панели.
Осторожно: внутреннее сохранение выделения происходит не только по воле пользователя, но и автоматически при обращении к большинству файловых операций в TC.
Либо с помощью такой кнопки:sa писал(а):Увидеть до этого отобранные файлы всё же можно - с помощью команды "Восстановить выделение".
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(529) tcm(2023) tcm(3304) tcm(3305) send(`^+S`)"
wcmicons.dll,42
Восстановить выделение и применить последний использованный фильтр быстрого поиска
-1
Осторожно: внутреннее сохранение выделения происходит не только по воле пользователя, но и автоматически при обращении к большинству файловых операций в TC.