Windows XP requires that a valid filter component be registered for each file type, if it is to be found when using a word or phrase in the search criteria.

Filters are provided for MIME files, HTML, plain text and binary files, and Microsoft Word, Excel, and PowerPoint.

If you go to Windows Update and download the Windows XP Application Compatibility Update, October 25, 2001, it will add filters to the following extensions:

.386
.aifc
.aiff
.asm
.asx
.au
.AudioCD
.bkf
.bmp
.c
.cda
.cpl
.cpp
.css
.cur
.cxx
.def
.DeskLink
.dib
.drv
.dvd
.emf
.fnd
.folder
.gz
.h
.hpp
.hta
.htt
.hxx
.idl
.inc
.ivf
.jfif
.jpe
.jpeg
.js
.latex
.log
.m1v
.m3u
.MAPIMail
.mid
.midi
.mp2
.mp2v
.mpa
.mpe
.mpeg
.mpg
.mpv2
.mydocs
.pl
.rle
.rmi
.png
.rc
.rtf
.sit
.snd
.tgz
.url
.vxd
.wax
.wm
.wma
.wmp
.wmv
.wmx
.wmz
.wsz
.wvx
.xbm
.xml
.xsl
.ZFSendToTarget
For other file types, check with the vendor for a filter. In most cases, registering the plain text filter for a file type will work.

I have scripted RegisterPFT.bat to register the plain text filter on the extensions that you enter. The syntax is:

RegisterPTF .ex1 \[.ex2\] \[.ex3\] ... \[.exn\]

where .ex1 is an extension, in the form of .xxx. You may include as many extensions as you wish.

NOTE: If you include an extension that is a already registered, it will be overwritten with the plain text filter. As you can see from the batch file, a registered extension has a PersistentHandler subkey and a (Default) value like \{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\}.

RegisterPFT.bat contains:

@echo off
setlocal
if \{%1\}

\{\} goto syntax
set ext=%1
if \{%ext:~0,1%\} NEQ \{.\} goto syntax
@echo REGEDIT4>"%TEMP%\RegisterPTFwrk.REG"
@echo \[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\%ext%\PersistentHandler\]>>"%TEMP%\RegisterPTFwrk.REG"
@echo @="\{5e941d80-bf96-11cd-b579-08002b30bfeb\}">>"%TEMP%\RegisterPTFwrk.REG"
:loop
shift
if \{%1\}

\{\} goto :done
set ext=%1
if \{%ext:~0,1%\} NEQ \{.\} goto syntax
@echo \[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\%ext%\PersistentHandler\]>>"%TEMP%\RegisterPTFwrk.REG"
@echo @="\{5e941d80-bf96-11cd-b579-08002b30bfeb\}">>"%TEMP%\RegisterPTFwrk.REG"
goto loop
:syntax
@echo Syntax: RegisterPTF .ex1 \[.ex2\] \[.ex3\] ... \[.exn\]&goto :EOF
endlocal
goto :EOF
:done
regedit /s "%TEMP%\RegisterPTFwrk.REG"
endlocal
See tip 4689 ยป More about Windows XP search for All files and folders does NOT find all files when you use a word or phrase?

NOTE: See How can I cause the Windows XP search to include all file types, without registering them?