Мне нужно найти все файлы по маске "*Swift*", причем эти файлы должны находиться в папках с именем, удовлетворяющем маску "*BPL*"
При поиске файлов хочу ограничить поиск фильтрацией по названиям папок.
Для этого в поиске (Alt-F7) задаю параметры:
1) Скрин окна поиска:
Code: Select all
╔═════════════════════════════ Поиск файла ══════════════════════════════╗
║ Одна или несколько масок файлов: ║
║ *Swift* ↓║
╟────────────────────────────────────────────────────────────────────────╢
║ Содержащих текст: ║
║ ↓║
║ Используя кодовую страницу: ║
║ Автоматическое определение ↓║
╟───────────────────────────────────┬────────────────────────────────────╢
║ [ ] Учитывать регистр │ [ ] Искать в архивах ║
║ [ ] Только целые слова │ [x] Искать папки ║
║ [ ] Искать 16-ричный код │ [x] Искать в символических ссылках ║
║ [ ] Не содержащих │ [ ] Искать в альтернативных потоках║
╟───────────────────────────────────┴────────────────────────────────────╢
║ Выберите область поиска: ║
║ С текущей папки ↓ [x] Использовать фильтр ║
╟────────────────────────────────────────────────────────────────────────╢
║ { Искать } [ Диск ] [ Фильтр ] [ Дополнительно ] [ Отмена ] ║
╚════════════════════════════════════════════════════════════════════════╝
Code: Select all
╔════════════════════════════ Меню фильтров ════════════════════════════╗
║ * │ .............................. ... │ * ║
║+ *BPL* │ ..............D+.............. ... │ *BPL* ║
║ *Swift* │ ..............D-.............. ... │ *Swift* ║
╟────────────────────────┼────────────────────────────────────┼─────────╢
║ 0. Папки │ ..............D+.............. ... │ ║
║ 1. Файлы панели │ ..............D-.............. ... │ *.dsk ║
║ 2. Файлы панели │ ..............D-.............. ... │ *.ion ║
║ 3. Файлы панели │ ..............D-.............. ... │ *.log ║
║ 4. Файлы панели │ ..............D-.............. ... │ *.txt ║
╚══════ +,-,Пробел,I,X,BS,Shift+BS,Ins,Del,F4,F5,Ctrl+Up,Ctrl+Dn ═══════╝
Code: Select all
╔════════════════════════════════ Фильтр ════════════════════════════════╗
║ Имя фильтра: *BPL* ↓║
╟────────────────────────────────────────────────────────────────────────╢
║ [x] Маска: *BPL* ↓║
╟──────────────────┬─────────────────────────────────────────────────────╢
║ [ ] Размер: │ [ ] Дата/Время: [ Текущая ] [ Сброс ] ║
║ >= │ записи ↓ <= . . : : , ║
║ <= │ [ ] Относительная >= . . : : , ║
╟──────────────────┴─────────────────────────────────────────────────────╢
║ [x] Атрибуты ║
║ [?] Только для чтения [?] Разрежённый ║
║ [?] Архивный [?] Временный ║
║ [?] Скрытый [?] Автономный ║
║ [?] Системный [?] Точка повторного анализа ║
║ [?] Сжатый [?] Виртуальный ║
║ [?] Зашифрованный [?] Поток целостности ║
║ [?] Неиндексируемый [?] Нет данных очистки ║
║ [x] Каталог ║
╟────────────────────────────────────────────────────────────────────────╢
║ [ ] Болee одной жёсткой ссылки ║
╟────────────────────────────────────────────────────────────────────────╢
║ { OK } [ Очистить ] [ Отмена ] ║
╚════════════════════════════════════════════════════════════════════════╝
Поиск по 10 папкам, в каждой по 3 тыс подпапок, и 100 тыс файлов. Всего в каждой из 10 папок внутри находится 10 папок удовлетворяющие условию *BPL*. Т.е в итоге FAR при поиске в 30 тыс. папок должен найти 100 директорий по маске *BPL*, и в них искать файлы по маске *Swift* (примерно около 200 файлов).
Получаю:
1) При заданных параметрах как на скринах, поиск выполняется очень долго (вчера я вырубил поиск после 2-х часов). Сама отмена срабатывает нормально, т.е. процесс поиска не зависает. Только нажимаешь Esc, вылезает подтверждение отмены.
2) Изменяем условия, в основном окне поиска поле "Одна или несколько масок файлов" ставим *
Остальные параметры поиска оставляем прежними.
При данных условиях поиск выполняется значительно быстрее (около 15 минут)
Выводы: При использовании фильтров (где фильтр настроен на отбор папок по маске) очень долго происходит поиск с использованием маски файлов (в основном окне поиска).