Шаблон для фильтрации одновременно папок и файлов

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

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

Ответить
pr0
Сообщения: 17
Зарегистрирован: Вс июл 01, 2007 01:42

Шаблон для фильтрации одновременно папок и файлов

Сообщение pr0 »

Задача такая: создать шаблон поиска, который выводит в панель все файлы и папки, начинающиеся на букву А.

- начинающиеся на русские буквы,
- на английские.

Важно! Этот шаблон должен одновременно работать и на названия папок, и на название файлов.

Потом эти шаблоны хочу закрепить на панели инструментов в виде кнопок.

Добавлено спустя 31 минуту:

На первый вопрос уже сам нашел ответ:

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

А*.*;А*\
Добавлено спустя 14 минут:

Блин когда такое указываешь в маску поиска - каталоги исчезают, а как только запишешь в шаблон - этот эффект пропадает :cry:
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

pr0 писал(а):в виде кнопок
А если так?

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

TOTALCMD#BAR#DATA
cd А*.*;А*\

wcmicons.dll,24



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

Сообщение Flasher »

cd a*\;а*\;a*.*;а*.*
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
pr0
Сообщения: 17
Зарегистрирован: Вс июл 01, 2007 01:42

Сообщение pr0 »

Flasher писал(а):cd a*\;а*\;a*.*;а*.*
на каталоги не распространилось
sa писал(а): А если так?

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

TOTALCMD#BAR#DATA
cd А*.*;А*\

wcmicons.dll,24

-1
а это куда записывать?

Нашел некротему forum.wincmd.ru/viewtopic.php?t=13658 с последним сообщением от 2010 года, неужели ничего не изменилось?
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

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

Сообщение Flasher »

pr0 писал(а):на каталоги не распространилось
Это не работает из комстроки.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
pr0
Сообщения: 17
Зарегистрирован: Вс июл 01, 2007 01:42

Сообщение pr0 »

sa, ваш вариант сработал :D

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

Сообщение Flasher »

pr0 писал(а):ваш вариант сработал
Это один и тот же вариант, только у меня совмещены латинские и кириллические "а".
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
pr0
Сообщения: 17
Зарегистрирован: Вс июл 01, 2007 01:42

Сообщение pr0 »

В хелпе написано, что можно использовать регулярные выражения после <
Sample list: Description
c:\testdir\ Searches "c:\testdir" for files defined in "search for"
c:\testdir\*.txt *.doc Searches "c:\testdir" for txt and doc files
c:\testdir\<regular expression Searches "c:\testdir" using regular expression
как в данном случае записать строку поиска?

cd <^[A-z] так ?
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

pr0
Сомневаюсь, что команда cd поддерживает регулярные выражения…
pr0 писал(а):не охота весь алфавит переписывать через ;
Пожалуйста, через пробел: :)

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

TOTALCMD#BAR#DATA
cd
А*.* А*\ Б*.* Б*\ В*.* В*\ Г*.* Г*\ Д*.* Д*\ Е*.* Е*\ Ё*.* Ё*\ Ж*.* Ж*\ З*.* З*\ И*.* И*\ Й*.* Й*\ К*.* К*\ Л*.* Л*\ М*.* М*\ Н*.* Н*\ О*.* О*\ П*.* П*\ Р*.* Р*\ С*.* С*\ Т*.* Т*\ У*.* У*\ Ф*.* Ф*\ Х*.* Х*\ Ц*.* Ц*\ Ч*.* Ч*\ Ш*.* Ш*\ Щ*.* Щ*\ Ь*.* Ь*\ Ы*.* Ы*\ Ь*.* Ь*\ Э*.* Э*\ Ю*.* Ю*\ Я*.* Я*\
wcmicons.dll,24
Показать файлы/папки, начинающиеся на русские буквы


-1
pr0
Сообщения: 17
Зарегистрирован: Вс июл 01, 2007 01:42

Сообщение pr0 »

это я уже и сделал, но хотелось бы понять, как регулярками там пользоваться.

En

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

cd a*.*;a*\;b*.*;b*\;c*.*;c*\;d*.*;d*\;e*.*;e*\;f*.*;f*\;g*.*;g*\;h*.*;h*\;i*.*;i*\;j*.*;j*\;k*.*;k*\;l*.*;l*\;m*.*;m*\;n*.*;n*\;o*.*;o*\;p*.*;p*\;q*.*;q*\;r*.*;r*\;s*.*;s*\;t*.*;t*\;u*.*;u*\;v*.*;v*\;w*.*;w*\;x*.*;x*\;y*.*;y*\;z*.*;z*\;
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

pr0 писал(а):как регулярками там пользоваться
Там - это с командой cd? Никак.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
pr0
Сообщения: 17
Зарегистрирован: Вс июл 01, 2007 01:42

Сообщение pr0 »

Ок. Проблема решена, всем спасибо!
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

После использования фильтра для файлов, начинающихся с русских букв, как-то открыл меню "Вид" и испугался: такого широченного меню в ТК ещё не видел! :)

Add
Кстати, строку параметров как будто можно и подсократить, заменив везде *.* на * просто.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Может и не в тему…
Если нужно только временно показать интересующие файлы/каталоги (без использования фильтра для этого), то можно воспользоваться кнопкой

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

TOTALCMD#BAR#DATA
524,em_SelRus,2023,524

wcmicons.dll,73
Показать только файлы/папки, начинающиеся на русские буквы


-1
для которой потребуется создать пользовательскую команду em_SelRus вида

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

SELECTFILESB а* б* в* г* д* е* ё* ж* з* и* й* к* л* м* н* о* п* р* с* т* у* ф* х* ц* ч* ш* щ* ь* ы* ь* э* ю* я*
К показу всех файлов возвращаться обновлением содержимого панели, например по F2.
Плюс такой кнопки в том, что она применима к панели с каким-либо уже действующим фильтром (поверх него).

Добавлено
При наличии утилиты TCFS2 можно обойтись без создания пользовательской команды:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(524,1) tcm(3311,1) eval(send_wait(@`<^[А-Я]`, findwnd(`TCOMBOINPUT`))) send(`{ENTER}`, findwnd(`TCOMBOINPUT`)) delay(200) tcm(2023,1) tcm(524,1)"
wcmicons.dll,73
Показать только файлы/папки, начинающиеся на русские буквы


-1
Кстати, в этой кнопке файлы/папки в ТК выделяются с помощью регулярного выражения.
Ответить