As I recall (it's been a long time since I used it), the DOS (or command line) "FIND" command will find the text lines that contain the keyword(s). DOS FIND is still available in WINXP & probably also still in VISTA.
Yes, FIND will do what you want.
The old syntax used to be:
Find /switch "string" d

ath\filename
where:
/C counts number of lines that contain "string"
/N specify the line number that contains the string
/V display all lines which do not contain "string"
/I ignore the case of the characters in "string"
Path works, but doesnt seem to do subfolders. You also have ability to search all text files in a folder/directory using wild cards. Example:
FIND /I /N "Delenn" D:\LibraryHours\*.txt
Searches all the text files in the directory LibraryHours on D drive for the string "Delenn". The display shows the file containing the text, the line number in the file containing the text and the actual line containing the text. Besides being built in, FIND works virtually instantly.
You may go to the folder/directory containing the text file(s) and issue a simpler version of the FIND command (ie, without the path portion) and also use DOSKEY to allow quick/easy repeated modification of the "string" field.
You actually can also effectively use FIND on rtf and word doc files simply by saving the file in text format or even do html by copying the text and pasting it into an editor (eg, notepad, wordpad or MS Word) and saving it as plain text.
Finally, for record keeping, you can 'pipe" the output of FIND to either a file or to a printer for hard copy. Use the old DOS syntax
Yes, all this free and already built into WINXP!
============