Поиск total commander: Как найти файл по слову в тексте с помощью Total Commander
Содержание
Регулярные выражения в Total Commander (или поиск по шаблонам)
Сегодня я столкнулся с тем, что оказывается в интернете не так-то уж и много информации про регулярные выражения для Total Commander`а. Если говорить точнее, то она возможно и есть, но найти ее крайне тяжело. Да, и к тому же ни все тонкости там сказаны и «разжеваны». А для нас, людей живущих очень быстро, дорога каждая минута. И разбираться, что нам поможет, а что нет, очень долго… В общем я решил собрать сюда всю инфу, которую я нашел по регуляркам для Тотал Коммандера. Для начала я покажу Вам то, что пишут в мануалах (официальная справка) от самих разработчиков, но с русским переводом! =)
Справка по использованию регулярных выражений в Total Commander (manual)
Регулярные выражения
Регулярные выражения являются очень мощным инструментом поиска. Они позволяют искать сложные комбинации слов. Регулярные выражения в основном предназначены для профессионалов, но также могут быть полезными и для начинающих для поиска определенных документов (см. $ + *? (только в символьных классах: -)
Обычные символы
Если Вы напишите для поиска только обычные символы, например: «тест», то поиск найдет Вам файл с этими символами, идущими в строгом порядке, как «т→е→с→т». Примечание: Этот запрос находит «тест» в любом месте в имени файла и/или строки в тексте.
Пробег последовательности
Обратная косая черта \ запускает последовательность Escape. Примеры управляющих последовательностей:
\t — Остановка табуляции
\xnn — Символ с шестнадцатеричным кодом «nn». Пример: \x20 является пробелом.Таблица символов charmap.exe (если установлен) показывает коды символов большинства специальных символов. Вы можете использовать эту таблицу в постоянном режиме, чтобы конвертировать из десятичной системы исчисления в шестнадцатеричном формате.
\x{NNNN} — Юникод с шестнадцатеричным кодом NN. Обратите внимание, что Total Commander теперь использует Unicode для имен файлов, так что вы должны использовать это обозначение для других символов, отличных от латинских. — Начало строки
$ — Конец строки
. — Любой символ
\w — буквы, цифры или знак подчеркивания _
\W — противоположность \w
\d — цифра
\D — не цифра
\s — разделители слов (пробел, табуляция и т.д.)
\S — слова без разделителей
\b — находит границу слова (сочетание \s и \S)
\B — противоположность \b
Итераторы
Итераторы используются для повторения символа или выражения в левой части итератора.
* — Ноль или более раз где-то
+ — Один или несколько раз где-то
{n} ровно n раз где-то
{n,} минимум n раз где-то
{n,m} минимум n и m максимально раз где-то
Все эти операторы являются «жадными», это означает, что они принимают столько символов, сколько они могут получить. Ввод вопросительного знака ? после оператора делает их «не жадными», т.е. он занимает ровно столько символов, сколько необходимо.
Пример: если применить «b+» к целевой строке «abbbbc», то поиск найдет «bbbb», а если применить «b+?», то поиск находит только «b».
Альтернативы
Альтернативы заключаются в круглых скобках, и разделены вертикальной чертой.
Пример: (John|James|Peter) находит одно из имен John, James или Peter.
Подвыражения для поиска + функция «заменить»
Текстовые части в круглых скобках берутся подвыражения.
Пример: Чтобы поменять название и интерпретировать имя у .mp3 файла, когда они разделены тире (Название — Интерпретатор.mp3), это может быть решено следующим образом:
Поиск: (.*) — (.*)\.mp3
Заменить на: $2 — $1.mp3
Здесь $1 означает текст в первых скобках, а $2 текст во вторых скобках.
Обратные
\n — Находит подвыражению n другой раз в результате поиска.
Пример: (.+)\1+ находит, например, abab (где первый ab находится с помощью: .+ и второй за счет: \1+)
Модификаторы
Модификаторы используются для изменения поведения регулярных выражений.
(?i) — Игнорировать прописные/строчные буквы. В Total Commander, это по умолчанию для имен файлов.
(?-i) — Чувствительность к регистру.
(?g) — Включение режима «жадный» (включен по умолчанию)
(?-g) Выключение режима «жадный», так что «+» означает то же самое, как «+».
Другие модификаторы не имеют отношения к Total Commander, потому что программа поддерживает поиск по регулярным выражениям ТОЛЬКО В ОДНОЙ СТРОКЕ.
Total Commander использует свободные Delphi библиотеки «TRegExpr» от Андрея В. Сорокина
Некоторые из приведенных выше объяснений взяты из файла справки для этой библиотеки.
Немного слов от себя
Если Вы захотите сделать поиск по файлам (по названию файла) в определенных файлах (в моем случае мне нужны были php и js файлы), то вот выражение, которое мне помогло:
*.php;*.js
Т.е. выходит так, что ни какие скобки мне там не помогли… Надо просто каждое выражение отделять точкой с запятой и тогда все получится. В общем для IT`шников все интуитивно! =)
Total Commander — поиск с исключением
RockMeister
Banned
#1
Есть ли в ТС опция при поиске на всём диске исключать одну или несколько папок?
mindcube
Well-Known Member
#2
@RockMeister, конечно есть)
Поиск файлов (Alt+F7)
Закладка «Плагины». «V» «Поиск с плагинами». «Объединять:» = «И: все правила». «Плагин:» = «tc», «Свойство:» = «Путь», «Операция:» = «!содержит», «Значение:» = «НазваниеИсключаемойПапки».
и таких правил можно создавать сколько угодно.
Реакции:
Bernard, itzh и RockMeister
mitinglas
дМитрий Зайцев
#3
масса полезного:
http://forum.ru-board.com/topic.cgi?forum=5&topic=48247#1
Реакции:
Bernard, itzh и RockMeister
vitalker
Well-Known Member
#4
Можно выделить эти папки, нажать Ctrl+A или * и искать только в выделенных.
Улучшения быстрого поиска / Total Commander — Справка и поддержка
система
1
По сравнению с Total Commander быстрый поиск в DO 9 лишен некоторых удобных функций:
нет поддержки подстановочных знаков
В TC я могу ввести «*.txt», чтобы перейти к файлу с расширением .txt, я также могу ввести «?» заменить символ.
Также включены дополнительные полуавтоматические режимы, в которых * заранее соответствует началу имени файла, а введенная точка расширяется до *. чтобы соответствовать символам перед точкой.Ярлык F3 для перехода к следующему матчу крайне неудобен.
В TC я нажимаю Ctrl-Enter для перехода к следующему совпадению, enter для выполнения, нет необходимости покидать нижнюю область клавиатуры.В TC я могу опционально запустить быстрый поиск, набрав комбинацию горячих клавиш и букв (Alt+буква, Ctrl-Alt+буква), в этом случае нажатие буквы не запускает быстрый поиск, а вместо этого напрямую активирует командную строку, что может быть очень важно для таких команд, как гики. Также функцию быстрого поиска можно полностью отключить.
Я искал в настройках возможность настроить быстрый поиск, но не повезло, даже не было совпадения для «быстрого». Единственное совпадение, которое я нашел, было отключено поле поиска.
Если есть какие-либо скрытые параметры, которые необходимо ввести в файл конфигурации вручную, напишите мне. Я привык к этому в TC, но, насколько мне известно, в Directory Opus все опции доступны в настройках, не так ли?
Спасибо за внимание.
ICFU
Xyzzy
2
2. Ярлык F3 для перехода к следующему совпадению крайне неудобен.
Windows стандартная, виноват Билл.
[quote=»Icfu»]
3. В TC я могу опционально запустить быстрый поиск, набрав комбинацию горячих клавиш и букв (Alt+буква, Ctrl-Alt+буква), в этом случае нажатие буквы не запускает быстрый поиск, а вместо этого напрямую активирует командную строку, что может быть очень важно для таких команд, как гики. [/цитировать]
Поправьте меня, если я ошибаюсь, но поскольку в DO нет панели командной строки, это спорный вопрос.
Х.
Лев
3
[quote=»Icfu»]В TC я могу ввести «*.txt», чтобы перейти к файлу с расширением .txt, я также могу ввести «?» заменить символ.
Также включены дополнительные полуавтоматические режимы, в которых * заранее соответствует началу имени файла, а введенная точка расширяется до *. чтобы соответствовать символам перед точкой.[/quote]
Кажется логичным добавить в поле поиска. На данный момент вы пробовали использовать поле фильтра? Вы можете ввести в него *.txt, чтобы скрыть все несоответствующие файлы.
2. Ярлык F3 для перехода к следующему совпадению крайне неудобен.
Возможно, это должно быть настраиваемым. (F3 является стандартным, как говорит Xyzzy.)
Я обычно использую курсор вниз для перехода к следующему файлу, но это, конечно, не то же самое, что делает F3. (До сих пор я даже не знал, что F3 работает.)
3. В TC я могу опционально запустить быстрый поиск, набрав комбинацию горячих клавиш и букв (Alt+буква, Ctrl-Alt+буква)
Вы можете создать горячие клавиши для перехода к буквам дисков (или любому другому пути) через Customize->Keys. Вы также можете назначить горячую клавишу для поля фильтра. (После добавления поля фильтра на панель инструментов отредактируйте его, и вы увидите место для определения его горячей клавиши. ) Сочетание этих двух вещей должно дать желаемый результат.
активирует командную строку, что может быть очень важно для командных фанатов.
В Opus есть командное поле, которое вы можете добавить на свои панели инструментов. Кроме того, > в Opus 9 всплывающее поле поиска превращается в командное поле.
система
4
Кажется логичным добавить в поле поиска. На данный момент вы пробовали использовать поле фильтра? Вы можете ввести в него *.txt, чтобы скрыть все несоответствующие файлы.
Это альтернативный способ навигации, да, он тоже существует в TC. Но это не замена для быстрого поиска.
Возможно, это должно быть настраиваемым. (F3 является стандартным, как говорит Xyzzy.)
Это то, что я всегда имел в виду, конечно, просто как вариант. Я не хочу раздражать пользователей, которые привыкли к образу мыслей Билла, будь он умным или нет. Я согласен с тем, что F3 — хорошо известный ярлык для поиска следующего совпадения в нескольких приложениях Windows, но он не подходит для предотвращения тендосиновита в файловом менеджере.
Я обычно использую курсор вниз для перехода к следующему файлу, но это, конечно, не то же самое, что делает F3. (До сих пор я даже не знал, что F3 работает.)
Добро пожаловать.
Вы можете создать горячие клавиши для перехода к буквам дисков (или любому другому пути) через Customize->Keys. Вы также можете назначить горячую клавишу для поля фильтра. (После добавления поля фильтра на панель инструментов отредактируйте его, и вы увидите место для определения его горячей клавиши.) Сочетание этих двух вещей должно дать желаемый результат.
Недоразумение: я говорил не о буквах дисков, а о возможности в TC начать быстрый поиск, набрав Ctrl+Alt+X (например, Ctrl+Alt+X, когда слово начинается с X). Если бы это было возможно в DO, командная строка могла бы всплывать при вводе символа, и ввод > first не был бы необходим.
В Opus есть командное поле, которое вы можете добавить на свои панели инструментов. Кроме того, > в Opus 9 всплывающее поле поиска превращается в командное поле.
Проблема в том, что ни поле команды, ни всплывающее окно не дают мне возможности не закрывать приглашение после выполнения, я что-то упустил? Например ввожу «ipconfig», консоль открывается и закрывается. В TC я нажимаю Shift+Enter, а консоль остается открытой.
Также эта функция должна быть напрямую интегрирована в панель управления, отдельное поле команды неудобно. Слишком много не только лишнего пространства, но и контрпродуктивно для рабочего процесса.
И еще один недостаток, который хорошо известен из прошлого: активация быстрого поиска с помощью «>» плохо (не только) на немецкой раскладке клавиатуры, потому что вам нужно нажать Shift, та же проблема, что и здесь с псевдонимами:
[Альтернатива для триггера псевдонимов /)
Джон сказал мне сделать эту специальную горячую клавишу для английских раскладок kb настраиваемой (по электронной почте год назад или около того), но похоже, что это не так. не случилось. В DO нет международных тестировщиков? Такие базовые недостатки просто не должны попасть в финальную версию.
Спасибо за ваш вклад.
Икфу
Лев
5
Недоразумение: я говорил не о буквах дисков, а о возможности в TC начать быстрый поиск, набрав Ctrl+Alt+X (например, Ctrl+Alt+X, когда слово начинается с X).
Вы можете назначить горячую клавишу для поля фильтра. Например, я назначил ctrl-q (что-то, что легко набрать ), так что я могу набрать
ctrl-q *.txt
, чтобы просмотреть только файлы .txt в текущем каталоге, не касаясь мыши.
Чтобы найти вещи, начинающиеся с буквы X, просто введите X отдельно и используйте всплывающее поле поиска. (Конечно, вы это знаете. Я просто упоминаю об этом для других людей, которые могут читать. )
Проблема в том, что ни поле команды, ни всплывающее окно не дают мне возможности не закрывать приглашение после выполнения, я что-то упустил? Например ввожу «ipconfig», консоль открывается и закрывается. В TC я нажимаю Shift+Enter, а консоль остается открытой.
Это не идеально, но если вы хотите запустить команду DOS, такую как ipconfig или dir, и сохранить результаты, тогда это работает:
cmd /k ipconifg
Если вы хотите много чего сделать, вы можете создать кнопку или горячую клавишу, которая запрашивает команду через {dlgstring}, а затем запускает ее с помощью cmd /k.
cmd /k {dlgstring}
Или кнопка типа MS-DOS, которая запускает то, что вы вводите в поле {dlgstring}, а затем запускает его, а затем команду DOS Pause.
{dlgstring}
пауза
Также эта функция должна быть напрямую интегрирована в панель управления, отдельное поле команды неудобно. Слишком много не только лишнего пространства, но и контрпродуктивно для рабочего процесса.
Я был бы не против возможности ввести «ipconfig» в поле пути, но я думаю, что ввод «>ipconfig» для выполнения того же действия в поле поиска — это нормально.
Это дело вкуса, конечно, но мне очень нравится то, что есть сейчас. Поле поиска не отображается, пока вы не наберете > (или какой-либо другой символ), а поле пути уже делает что-то еще, если вы введете в него полный путь к файлу (оно переходит к папке и выбирает файл). Конечно, ввод только имени файла (а не полного пути) или команды сам по себе в поле пути сейчас не имеет смысла, поэтому можно было бы превратить это в команду, но использование > в поле поиска мне кажется, работает нормально.
[quote]И еще один недостаток, который хорошо известен из прошлого: Активация быстрого поиска с помощью «>» плохо работает (и не только) на немецкой раскладке клавиатуры, потому что вам нужно нажать Shift, та же проблема, что и здесь с псевдонимами:
[Альтернатива триггеру псевдонимов /)[/quote]
Хорошая мысль. Я подал запрос на функцию, чтобы сделать клавиши > и F3 для поля поиска настраиваемыми. (Кроме того, ввод HTML или XML должен быть настоящей головной болью на немецкой клавиатуре!)
В DO нет международных тестировщиков? Такие базовые недостатки просто не должны попасть в финальную версию.
Есть несколько, но я не думаю, что кто-то из них упомянул, что клавиша > неудобна. Возможно, они мало использовали эту функцию. Надеюсь, это можно настроить так, чтобы все были довольны.
Спасибо за все идеи!
Лев
6
Я также подал запрос на добавление поддержки подстановочных знаков в поле поиска, поскольку это кажется логичным. Хотя существующие поля фильтра обеспечивают аналогичную функциональность, я думаю, что возможность перехода к файлам, соответствующим подстановочным знакам, без фильтрации всех остальных файлов, также может быть полезной.
rcoleman1943
7
[quote=»nudel»]
[quote]И еще один недостаток, который хорошо известен из прошлого: активация быстрого поиска с помощью «>» плохо работает (не только) на немецкой раскладке клавиатуры, потому что вам нужно нажать Shift, та же проблема, что и здесь с псевдонимами:
[Альтернатива триггеру псевдонимов /)[/quote]
Хорошая мысль. Я подал запрос на функцию, чтобы сделать клавиши > и F3 для поля поиска настраиваемыми. (Кроме того, ввод HTML или XML должен быть настоящей головной болью на немецкой клавиатуре!)
Спасибо за все идеи![/quote]
Немецкие клавиатуры? Для ввода знака «больше» также требуется клавиша Shift на моей клавиатуре в США.
Лев
8
Верно ли изображение ниже для немецкой клавиатуры? Я могу понять, что / набирать сложно (shift-7), но > выглядит совсем не сложно, так же, как и набирать | на британской клавиатуре.
система
9
На этом изображении видно, что на немецких клавиатурах левая клавиша Shift очень маленькая и близка к клавише <. Это означает, что моим левым мизинцем и безымянным вурст-пальцами одновременно нажимать эти клавиши действительно больно, особенно потому, что мне регулярно требуется эта комбинация в режиме печати одной рукой.
Странно видеть, что даже пользователи английской раскладки kb не могут нажать > без нажатия Shift, так что мне кажется, что эта комбинация была выбрана не из-за удобства (что является моим приоритетом для ярлыков, которые мне часто нужны), а, вероятно, потому, что она выглядит как приглашение $G.
Икфу
Джон
10
Ну, это должен был быть символ, который не подходит для имен файлов, и не так много таких символов не требуют сдвига.
лососевый лось
11
Есть ли способ настроить механизм командной строки? Я бы хотел увидеть здесь некоторую интеграцию с PowerShell.
система
12
Ну, это должен быть символ, который не подходит для имен файлов, а их не так много, которые не требуют сдвига.
Пока вы делаете все ярлыки настраиваемыми, я могу жить с любым ярлыком по умолчанию, который вы выберете, без проблем.
На форуме TC у меня было много бесконечных и бесплодных дискуссий о раздражающих хардкодных сочетаниях клавиш, отсутствии модификатора клавиш Windows (по крайней мере, у DO), отсутствующих альтернативных клавишах и т. д., поэтому я не буду начинать все сначала. Я слишком устал после всех этих лет разочарований.
Если вы когда-нибудь избавитесь от жестко запрограммированных ярлыков — я надеюсь на это — это будет хорошо, в противном случае я исправляю это сам с помощью AHK, как я привык до сих пор.
Спасибо.
Икфу
Лев
13
лосось:
Есть ли способ настроить механизм командной строки? Я бы хотел увидеть здесь некоторую интеграцию с PowerShell.
В данный момент нет. Если Opus не распознает то, что вы набрали как внутреннюю команду, он попросит Windows выполнить ее, предположительно, используя ShellExecute. Таким образом, вы можете запускать команды PowerShell, но вам нужно всегда добавлять к ним префикс с именем исполняемого файла PowerShell.
Кстати, я разработал способ создания кнопки в Opus, которая открывает подсказку PowerShell в каталоге списка. Дайте мне знать, если это будет полезно, и я размещу его на форуме кнопок и панелей инструментов. Это немного бессмыслица, так как требует, чтобы вы сделали ярлык для PowerShell.
Ярлык не является строго обязательным, но если вы запустите PowerShell напрямую, вы не получите правильный значок в открывшемся окне. Вздох.
Я давно хотел улучшить командную строку в Windows и очень хотел попробовать PowerShell, но он меня очень разочаровал. Вывод всего слишком подробный (и я не хочу тратить недели на редактирование всех команд, чтобы изменить его), он слишком медленный (особенно для запуска) и по-прежнему работает в том же старом окне командной строки, которое почти не изменилось с 1985. Я скучаю по приличным командным подсказкам, которые были у нас на Amiga и у людей на Unix-подобных ОС.
Каин
14
Ребята, не забывайте про пользовательские команды.
Команды, состоящие из нескольких слов, заключайте в кавычки. Например: ! «dir /w»
Это также должно работать для PowerShell и других внешних программ.
Не забудьте ввести >, чтобы он стал >! ипконфиг
Вы можете создавать всевозможные интересные префиксы следующим образом:
внутренняя команда
командная строка dos
! Команда PowerShell
Мне уже нравится эта функция
Лев
15
Умная идея Каина.
система
16
Итак, поскольку эта тема превратилась в тему обходного пути для ограничения DO CL, я использую этот код AutoHotkey. Одного нажатия клавиши «<» на файловой панели достаточно, нет необходимости в одном или нескольких нажатиях Shift. %comspec% /k заполняется автоматически.
#IfWinActive, ahk_class dopus.lister
<::
ControlGetFocus, Фокус
Если (Focus = "dopus.filedisplay1" ИЛИ Focus = "dopus.filedisplay2")
SendInput, {Shift}>%comspec% /k{Пробел}
Иначе SendInput, <
Возврат
ICFU
лососевый лось
17
У меня уже есть пункт "ps here" в контекстном меню
номер:
Я давно хотел улучшить командную строку в Windows и очень хотел попробовать PowerShell, но он меня очень разочаровал. Вывод всего слишком подробный (и я не хочу тратить недели на редактирование всех команд, чтобы изменить его), он слишком медленный (особенно для запуска) и по-прежнему работает в том же старом окне командной строки, которое почти не изменилось с 1985. Я скучаю по приличным командным подсказкам, которые были у нас на Amiga и у людей на Unix-подобных ОС.
Да, я тоже думал, что они сделают что-то поярче. Однако, в отличие от cmd.exe по умолчанию, по-видимому, относительно просто сделать приглашение PowerShell (хотя MS утверждают, что это глупая идея, и задаются вопросом, зачем кому-то это делать). Насколько я понимаю, само приложение powershell — это просто командлет, в который выводится текст, а вводятся команды. Фактически вы можете встроить powershell в любое приложение .net, которое считаете нужным. (Насколько я понимаю, Dopus - это не .net)
Подробный вывод из-за того, что все это основано на объектах, вы можете немного сократить его, указав, какую часть объекта вы действительно хотите видеть.
Я обдумывал идею построить что-то вроде Dopus поверх PS, что дало бы ему действительно мощный скриптовый движок, но просто нет времени. Это дало бы пользователям возможность добавлять реальные функции в Dopus.
Из-за своей объектной природы - я видел, как оболочка фактически работает с окном списка, поэтому, например, команда "dir *.txt" заставит окно списка отображать только текстовые файлы, или, возможно, можно сделать команду show-selected, которая вернет список объектов, выбранных в окне списка.
Вы можете узнать больше о том, как на самом деле подключиться к PS на сайте SDK - я был бы рад поделиться идеями о том, что на самом деле можно сделать с ним
[Добавлено] Все (необязательно для Total Commander) - App-Request | Вулндетект
Ваш браузер не поддерживает JavaScript. В результате ваши впечатления от просмотра будут уменьшены, и вы будете переведены в режим только для чтения .
Загрузите браузер, поддерживающий JavaScript, или включите его, если он отключен (например, NoScript).
Эта тема была удалена. Его могут видеть только пользователи с правами управления темами.
Имя файла и путь: C:\Program Files\Everything\Everything.exe Название продукта: все Внутреннее имя: Все Оригинальное имя файла: Everything.exe Описание файла: Все Компания: Юридические авторские права: Copyright (C) 2018 Дэвид Карпентер Юридические товарные знаки: Комментарии: Строка версии файла: 1.4.1.922 Версия файла: 1.4.1.922 Строка версии продукта: 1.4.1.922 Версия продукта: 1.4.1.922
Графический интерфейс:
Версия 1.4.1.922 (x86)Загрузка:
http://www.voidtools.com/Значок:
org/Comment">@Tom У меня есть Everything в качестве портативной версии теперь в WSCC:
D:\PortableApps\PortableApps_WSCCPortable\Other Utilities\Everything.exeТак что было бы неплохо, если бы Everything был обнаружен.
@Anselm
Все можно нормально скачать и установить (в данном случае отдельно от Total Commander).
На мой взгляд, @Tom должен добавить правила обнаружения для всего (автономная версия).Как только все будет обнаружено, вы увидите, обнаружено ли оно также в вашей системе (вы скачали его через Total Commander).
Я уверен, что он тоже будет обнаружен.@Tom
Обратите внимание, что в Total Commander можно включить все.
Так что, возможно, путь к файлу Everything является индикатором, если он связан с Total Commander или отдельной версией.
Но все также можно скачать в портативной версии.@OLLI_S Если вы отметите «Все» в диалоговом окне «Найти файл» Total Commander, Total Commander загрузит и установит все. Так что это какой-то пучок.
org/Comment">@OLLI_S Я ничего не говорил о том, с каким именем его нужно добавить.
Но здесь Все должно быть добавлено как Все , потому что вы можете начать это как отдельный продукт.
@anselm Все теперь правильно определяются в моей системе.
Поэтому я отмечаю тему как Добавлено и перемещаю ее в категорию Добавлено запросов приложений .
Вы написали в заголовке Все (опционально для тотал коммандера) поэтому я подумал, что это очень важная информация (то, что нужно учитывать при добавлении продукта).