Архивы: по дате | по разделам | по авторам

Расширяем возможности поиска Windows XP

АрхивСистема
автор : Петр Каньковски   10.08.2004

Windows XP не находит некоторые файлы, содержащие заданное вами слово. Поиск в файлах с расширениями log, cpp, h, css просто не ведётся. Исправить эту недоработку совсем не сложно.

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.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.