Можно.
Например (пример не оптимальный, но зато самый простой).
Код:
function FindText(AFileName, AText : String; ACaseSensitive : Boolean) : Boolean;
var
S : TStringList;
begin
S := TStringList.Create;
Try
S.LoadFromFile(AFileName);
If ACaseSensitive
Then Result := Pos(AText,S.Text) > 0
Else Result := Pos(AnsiUpperString(AText),AnsiUpperString(S.Text)) > 0;
Finally
S.Free;
End;
end;
Перебор файлов сам напишешь?