Снаряжаю поисковик Windows 7 найти эту папку, указал фильтр Размер: Пустые (0 КБ).
Поиск по флэшке не первый, может поэтому уже через 10 секунд я получил список из файлов.
Папок в выдаче нет вообще, поэтому я удаляю фильтр и указываю конкретное имя [ . •]
Через пять минут самая последняя появляется моя папка в самом верху выдачи, о чудо!
Тут в выдаче всё, что есть на флэшке, 7032 файла и 324 папки, да он издевается
В тотал коммандере поиск по имени [ . •] намного быстрее и нашел мою папку, но
поиск с указанием размера 0 байт выдаёт вообще все папки и после них пустые файлы.
Я не осуждаю и не хвалю ничьи реализации поиска, просто давно делаю свою для себя любимого.
Последняя версия использует FSO, проверяет размер папок от корня к листьям, первая итерация это атас.
Для очередной версии у меня такая идея:
- Код: Выделить всё
1. С помощью API FindFirstFile – FindNextFile быстро построить дерево файловой системы.
Элементы содержат имя.расширение, размер и пометку удаления того, что ушло в выдачу.
Помеченный (добавленный в выдачу) элемент дерева считается уже несуществующим.
Результаты отправляются в выдачу с полным путем от корня. Все выборки опциональные.
2. В выдачу папки/файлы имена которых состоят из пробела или расширения начинаются с пробела.
3. В выдачу все файлы нулевого размера.
4. В выдачу все папки не содержащие файлов и папок. Повторять пункт пока есть результаты.
Может я не первый, кто задумал это сделать? Может кто-то уже сделал? Что вы думаете об этом?
Будет ли эта идея работать быстрее, чем поиск TotalCmd и Windows?