Я чув про все раніше і ніколи не дивився на це з першого погляду.
Але сьогодні пошук у сотнях тисяч файлів конкретного слова в назві файлів зайняв цілу вічність. Я вирішив подивитися, чи є кращий спосіб зробити це, щоб мені не довелося чекати, поки мій комп'ютер завершить пошук, перш ніж я зможу отримати повний список.
Я ще раз зіткнувся з Все в Google. Цього разу я завантажив його. Це був портативний файл розміром 272 КБ, розташований тут. Я пробував старий добрий інструмент індексування Microsoft один або два рази за останнє десятиліття, і, якщо коротко, це дме!
Я сподівався, що все буде зовсім іншою історією. Згідно з тим, що я прочитав, Все ТІЛЬКИ шукає за іменами файлів, і це робить це дуже швидко. Але давайте насправді перевіримо це.
Я витягнув файл розміром 589 КБ з zip-файлу і запустив його. Ось що я побачив:
:
Хм... все виглядає досить порожнім!
Отже, я збираюся знайти групу зображень з моєї останньої книги в Photoshop. Я думаю, що всі зображення починаються з Photoshop. Я просто набрав Photoshop і спостерігав, як мої результати пошуку заповнювалися, коли я друкував. Я прокрутив трохи програмні файли з Photoshop і переконався, що мої зображення на робочому столі були в теці з назвою Photoshop. Дуже красиво і дуже швидко.
:
Як цей маленький додаток може працювати так швидко і ефективно? Не маю уявлення! Тому я відкрив свій диспетчер завдань і почав шукати все. Після повного пошуку всі використовували близько 20 МБ пам'яті. Зовсім непогано! Поки я люблю це. Я вирішив побродити по їхньому сайту і подивитися, що ще можна зробити. Я знайшов цей цікавий шматочок в їх FAQ:
Скільки часу займе індексація моїх файлів?
«Все» використовує тільки імена файлів і тек, і, як правило, створення бази даних займає кілька секунд. Нова установка Windows XP SP2 (близько 20 000 файлів) займе близько 1 секунди для індексації. 1 000 000 файлів займе близько 1 хвилини.
Все використовує RegEx (Формальні вирази) у своєму рядку пошуку, щоб допомогти вам точно визначити, що ви шукаєте. Як тільки ви освоїте його, ви знайдете його виключно корисним у багатьох місцях. З файла довідки ви знайдете всі вирази, які підтримуються і що вони роблять:
| -
Вертикальна риса відокремлює альтернативи. Наприклад,
сірий | сірий
може відповідати «сірому» або «сірому».
() -
Круглі дужки використовуються для визначення області дії та пріоритету операторів (серед іншого). Наприклад,
сірий | сірий
а також
гр (а | е) у
є еквівалентними шаблонами, які обидва описують набір «сірого» і «сірого».
? -
Знак питання вказує на наявність нуля або одного з попередніх елементів. Наприклад,
колір
відповідає «колір» і «колір».
* -
Зірочка вказує на наявність нуля або більш попереднього елемента. Наприклад,
Аб *
відповідає «ac», «abc», «abbc», «abbbc» тощо.
+ -
Знак плюс вказує на наявність одного або декількох попередніх елементів. Наприклад,
AB + с
відповідає «abc», «abbc», «abbbc» і т. д., але не «ac».
, -
Відповідає будь-якому окремому символу, крім символів нового рядка (які символи вважаються символами нового рядка, залежить від стилю, кодування символів і конкретної платформи, але можна з упевненістю припустити, що символ перекладу рядка включено). Вираз у дужках POSIX відповідає літеральній точці. Наприклад,
змінний струм
відповідає «abc» і т. д., але
[Ас]
відповідає тільки "а", ". "Або" с ".
[] -
Вираз у дужках. Відповідає одному символу, укладеному у квадратні дужки. Наприклад,
[ABC]
відповідає «a», «b» або «c».
[AZ]
вказує діапазон, який відповідає будь-якій рядковій літері від «а» до «z». Ці форми можуть бути змішані:
[Abcx-г]
відповідає «a», «b», «c», «x», «y» і «z», як
[А-сх-г]
[^] -
Відповідає одному символу, який не міститься в дужках. Наприклад,
[^ А]
відповідає будь-якому символу, крім «a», «b» або «c».
[^ Аз]
відповідає будь-якому окремому символу, який не є рядковою літерою від «а» до «z». Як і вище, буквені символи та діапазони можуть бути змішані.
^ -
Відповідає початковій позиції у рядку. У лінійних інструментах це відповідає початковій позиції будь-якої лінії.
$ -
Відповідає кінцевій позиції рядка або позиції перед новим рядком, що закінчується рядком. У лінійних інструментах це відповідає кінцевій позиції будь-якого рядка.
{м, н} -
Відповідає попередньому елементу не менше m і не більше n разів. Наприклад,
а {3,5}
відповідає тільки «ааа», «аааа» і «ааааа». Це не трапляється у декількох старих примірниках формальних виразів.
Використовуючи ці вирази, я спробував виконати наступний пошук, щоб знайти елементи з AskCeAdmin в імені файла jpg або Karl в імені файла jpg. Я впевнений, що ви вже можете собі уявити, наскільки це потужно!
:
Давайте подивимося на параметри програми.
:
На екрані General ви знайдете звичайні параметри запуску, а також деякі цікаві функції, такі як можливість запуску декількох примірників Everything або декількох вікон одного і того ж екземпляра, а також гарячих клавіш.
:
:
Все працює тільки на томах NTFS, тому, якщо ви відкриєте вкладку томів і нічого не з'явиться - ваші диски, ймовірно, не NTFS і повинні бути оновлені.
:
За допомогою вкладки «Виключення» ви можете вказати теки або файли, які необхідно виключити, включаючи приховані або системні файли.
:
ETP - це функція, яка дозволяє здійснювати віддалений пошук у вашій локальній базі даних. Більш детальну інформацію щодо цієї теми можна знайти тут.
:
І HTTP пропонує вам можливість відкрити веб-сервер на вашому локальному комп'ютері і дозволити запити до вашої локальної бази даних наступним чином:
:
Ви також можете відкрити це зовні і шукати на своєму ПК з дому, не маючи віддаленого робочого столу. І з деякими хитрими FTP ви можете самі зробити красиве файлове рішення.
Хто-небудь використовує Все або щось подібне? Ми хотіли б почути про це в коментарях!