Страница 1 из 1

Альтернативный поиск по файловой системе

СообщениеДобавлено: 01.02.2016 (Пн) 1:31
Adam Smith
Создал на флэшке пустую папку, назвал [ . •], пробел точка пробел символ • (он не важен).
Снаряжаю поисковик Windows 7 найти эту папку, указал фильтр Размер: Пустые (0 КБ).
Поиск по флэшке не первый, может поэтому уже через 10 секунд я получил список из файлов.
Папок в выдаче нет вообще, поэтому я удаляю фильтр и указываю конкретное имя [ . •]
Через пять минут самая последняя появляется моя папка в самом верху выдачи, о чудо!
Тут в выдаче всё, что есть на флэшке, 7032 файла и 324 папки, да он издевается :|

В тотал коммандере поиск по имени [ . •] намного быстрее и нашел мою папку, но
поиск с указанием размера 0 байт выдаёт вообще все папки и после них пустые файлы.

Я не осуждаю и не хвалю ничьи реализации поиска, просто давно делаю свою для себя любимого.
Последняя версия использует FSO, проверяет размер папок от корня к листьям, первая итерация это атас.
Для очередной версии у меня такая идея:
Код: Выделить всё
1.   С помощью API FindFirstFile – FindNextFile быстро построить дерево файловой системы.
   Элементы содержат имя.расширение, размер и пометку удаления того, что ушло в выдачу.
   Помеченный (добавленный в выдачу) элемент дерева считается уже несуществующим.
   Результаты отправляются в выдачу с полным путем от корня. Все выборки опциональные.
2.   В выдачу папки/файлы имена которых состоят из пробела или расширения начинаются с пробела.
3.   В выдачу все файлы нулевого размера.
4.   В выдачу все папки не содержащие файлов и папок. Повторять пункт пока есть результаты.

Может я не первый, кто задумал это сделать? Может кто-то уже сделал? Что вы думаете об этом?
Будет ли эта идея работать быстрее, чем поиск TotalCmd и Windows?