Автоматизация поиска по файлам

  • Автор темы Автор темы ibelieve
  • Дата начала Дата начала

ibelieve

Client
Регистрация
24.12.2012
Сообщения
250
Реакции
95
Баллы
28
Ребят, подскажите, вот в Total Commander есть функция поиска по файлам (скриншот), можно ли как-то это автоматизировать через Зеннопостер? Конкретно интересует поиск фраз по txt файлам, находящимся в папках и большом количестве подпапок.
Скриншот 2015-02-23 03.03.32.png
 
  • Оценить
Реакции: GHU
Только перебором всех файлов. И чтением их. И парсингом значений из каждого)
 
C#:
Развернуть Свернуть Копировать
string directory = @"D:\Zen\_scripts";
string filespattern = "*.cs";
string searchstring = "lock";

var searchregex = new System.Text.RegularExpressions.Regex(searchstring,  System.Text.RegularExpressions.RegexOptions.Compiled);

var filelist = System.IO.Directory.GetFiles(directory, filespattern, System.IO.SearchOption.AllDirectories).ToList();

for(int i=0; i < filelist.Count; i++){
    bool isfound = false;
    using (var streamReader = new System.IO.StreamReader(filelist[i], true)){
        while (streamReader.Peek() > 0){
            string line = streamReader.ReadLine();
            if (searchregex.IsMatch(line)){
                isfound = true;
                break;
            }
         }
    }
    if(!isfound)
        filelist.RemoveAt(i--);
}

return string.Join("\n", filelist.ToArray());
 
  • Оценить
Реакции: sentinel и ibelieve
rostonix, к сожалению это не самый быстрый вариант при большом количестве файлов. :) Например, вышеуказанной функции в Тотале нужно время лишь на первый поисковый запрос, и потом, если поиск идёт по тем же директориям, запросы обрабатываются в секунду. :)

LexxWork
, Спасибо! Попробую Ваш вариант. :)
 
мммм а можно мне объяснить чем вариант от LexxWork отличается от слов rostonix
Ну кроме того что он сразу кусок кода выложил?))
 
Ну то что в коде в одном экшене :))
 
Видимо кнопочку отложенной отрисовки надо делать кислотных цветов и пестрой и переливающейся)
 
  • Оценить
Реакции: rostonix
мммм а можно мне объяснить чем вариант от LexxWork отличается от слов rostonix
Ну кроме того что он сразу кусок кода выложил?))
Это вы, возможно, можете с первого взгляда определить, что из себя представляет код. :) А т.к. как я ни разу вообще не программист (и не рядом тоже), то чтоб узнать что это за код, мне нужно сперва попробовать его.
 
ну просто кроме как обойти все файлы и посмотреть я не знаю способа быстрее...
точнее они есть но довольно трудоемки и их реализовывать через зеннопостер все равно что удалять гланды через попу...
в общем и целом я не вижу особых различий между кубиками и кодом
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)