Windows XP не находит некоторые файлы, содержащие заданное вами слово. Программа не будет выполнять поиск в файлах с расширениями log, cpp, h, css и некоторых других, даже если эти файлы содержат слово или фразу, которую вы ищете. Даже если указать шаблон *.log в имени файла, Windows XP все равно не будет находить нужный файл.
Поиск файлов с расширением log не работает
Чтобы убедиться в этом, создайте текстовый файл и запишите в него одно слово (например, "поиск"). Сохраните этот файл с расширением log или cpp. Теперь запустите поиск файлов (Пуск > Поиск), укажите каталог, в котором находится файл, и нужное слово. В результате программа не сможет найти созданный файл.

Причина проблемы состоит в следующем. При поиске фразы в каждом файле Windows XP проверяет расширение файла и, исходя из него, выбирает нужный алгоритм поиска. Например, если программа поиска обнаружила txt-файл, она ищет в нем нужную фразу в кодировке ASCII. Если понадобилось искать в doc-файле MS Word, программа переключается на кодировку Unicode. Когда ей встречается mp3-файл или exe-файл, она вообще не ищет в нем заданную фразу. Зачем впустую тратить время, ведь в машинном коде или в звуковом файле она никогда не найдет текст.
Идея поиска с анализом типа файла очень хорошая, но вот реализация немного подкачала. Во-первых, во времена DOS часто встречались файлы с расширением doc, содержащие обычный ASCII-текст. Расширение не является достаточным признаком для того, чтобы определить тип файла. Во-вторых, mp3-файлы содержат текстовые ID3-тэги, а exe-файлы - информацию об авторе и названии программы (так называемая version info). Windows XP не умеет выполнять поиск этой информации. В-третьих, Windows XP не знает таких распространенных расширений, как cpp (программа на языке С++), css (таблица стилей для web-страницы), log (отчет об ошибках).
Первые две проблемы мы исправить не можем, однако у нас остается возможность научить программу находить файлы cpp, css и log.
Запустите редактор реестра, откройте раздел HKEY_CLASSES_ROOT.cpp и создайте в нем подраздел PersistentHandler. Затем можно указать одно из следующих значений по умолчанию:
- {098f2470-bae0-11cd-b579-08002b30bfeb} - не выполнять поиск
- {5e941d80-bf96-11cd-b579-08002b30bfeb} - текстовый файл (ASCII, кодировка Windows)
- {98de59a0-d175-11cd-a7bd-00006b827d94} -Microsoft Word, Excel или PowerPoint (doc, xls, ppt)
- {eec97550-47a9-11cf-b952-00aa0051fe20} - html-файл или asp-файл
Файлы cpp, css, log содержат обычный текст, поэтому для них следует использовать значение {5e941d80-bf96-11cd-b579-08002b30bfeb}.


Указываем тип файла в реестре
После выполнения этой нехитрой операции перезагрузите компьютер. Теперь Windows XP должна находить все нужные файлы.


Поиск работает нормально
Аналогичным способом можно заставить Windows XP искать текстовые файлы с другими расширениями. Кстати, чтобы быстро вызвать окно поиска, нажмите клавишу с эмблемой Windows + F.
Автор: Петр Каньковски


Источник: computerra.ru