Recherche de fichier par un bout de texte dans le fichier

nazzguhl Messages postés 26 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 26 janvier 2011 - 2 nov. 2004 à 15:21
nazzguhl Messages postés 26 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 26 janvier 2011 - 3 nov. 2004 à 13:57
Bonjour,

Je viens de passer sous XP et je remarque une anomalie dans l'outil de recherche de l'explorateur : rechercher les fichiers qui contiennent un certain texte quelque soit les extentions (XP ne recherche que dans un nombre limité d'extention et ignore les autres fichiers exemple si "TOTO" est inscrit dans 2 fichiers : fic.txt et fic.imp XP ne renvoi que fic.txt !!!)

existe-t-il un moyen par API pas trop compliquer pour recréer un outil de recherche plus complet ?
J'ai testé ce petit programme, mais il est lourd et très lent et ne gère pas les sous-répertoires :

public colfic as new collection ' liste des fichiers trouvés

sub FilRech(chemin as string, strRech as string)
' chemin répertoire de recherche
' strRech chaine à rechercher

dim fic as string
dim ligne as string
fic=dir(chemin+"*.*")
while fic<>""
open chemin+fic for binary as #1
do
ligne=string(1024," ")
get #1,,ligne
if instr(ligne,strRech)>0 then
colfic.add chemin+fic
exit do
end if
loop until eof(1)
close #1
fic=dir()
wend
end sub

Merci d'avance
cordialement
ACT

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 nov. 2004 à 18:17
Salut nazzguhl
Ce n'est pas une anomalie dans l'outil de recherche de l'explorateur : la recherche se fait dans le fichier et Windows ne gère pas les extensions, il ne fait que rechercher une chaine dans un fichier. Si la chaine TOTO est compressée dans le fichier, il ne la trouvera pas.
La recherche que tu propose de faire aura le même résultat.
Pour faire une recherche en tenant compte des extensions, il faudrait qu'à chaque fichier, il lance le programme associé (...) : Tu y seras encore l'année prochaine !

Vala
Jack
0
nazzguhl Messages postés 26 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 26 janvier 2011
3 nov. 2004 à 13:57
Merci pour ta réponse mais, elle ne reponds pas à mon problème : je ne cherche pas à interpréter les extention, je recherche une chaine de texte dans une liste de fichiers.

Dans le cas du même fichier texte ascii recopié et renommé (exemple fic.txt recopié en fic.imp) la recherche de XP ne fonctionne pas sur le fichier fic.imp.

Le problème que j'ai à mon boulot c'est de retrouver dans un répertoire les fichiers textes qui contiennent une référence (code client) soit dans des fichiers de liste (extention lst) soit dans des fichiers d'impression (extansion imp), ces 2 type de fichier sont des fichiers contenant du texte ascii et contenant la référence recherchée en clair, et sous XP la recherche est infructueuse alors qu'avec Win98 je trouve les fichiers recherchés en 1 ou 2 mn et avec mon petit programme il faut presque 30mn (les répertoires contiennent plusieurs centaines de fichiers pouvant aller jusqu'à quelques centaines de Mo).

ACT
0
Rejoignez-nous