Мне часто нужно просматривать файлы журналов, проблема в том, что файлы журналов хранятся в десятках папок каждый, и поиск 50 занимает буквально час или больше.
Я использовал пакетный файл для сканирования диска за ночь и составления списка всех каталогов в следующем формате.
Z:\folder\folder2\folder3\folder4\folder5\folder6\folder7\ <about another 20 folders > \log.txt
Текущая команда:
dir /b /-d /-p /s /A:-D > directories.txt
В текстовом файле около 500 тысяч строк.
Затем, когда мне нужно найти набор журналов, я запустил еще один пакет, чтобы получить набор из 50 журналов на основе сканирования этого текстового файла.
Проблема с текущим решением заключается в том, что с ростом базы данных журналов сканирование каталогов теперь занимает более 12 часов. Что делает его неработоспособным в одночасье. И мне нужно запускать это каждую ночь, чтобы журналы были актуальными.
Вопрос:
Итак, вопрос к вам, ребята, как лучше всего это сделать? Я не могу изменить ни одну из структур каталогов (это база данных журналов, используемая сотнями людей), и я действительно не знаю никаких языков, кроме пакетных сценариев. Но похоже, что Batch ограничен и не позволяет мне делать что-либо из следующего (что решило бы мою проблему)
- Пропускать каталоги, которые не изменялись за последние 48 часов.
- Пропускать подкаталоги папок с определенными ключевыми словами в названии
Если бы я мог сделать вышеприведенные 2 с помощью пакета, это, вероятно, увеличило бы вывод txt-файла с 500 тысяч строк до, возможно, 3 тысяч.