Aller au contenu
VJM alpha

[résolu]Rechercher un fichier contenant une chaîne

Messages recommandés

Ave !

 

J'ai déjà posé la question une fois ici mais elle est hélas restée sans réponse. Je la repose encore mais après, c'est promis, je ne vous embête plus avec.

 

D'abord un peu d'histoire

 

Avez-vous remarqué que les "créateurs" de certains programmes (OmniPage 12 et +, Adobe 6.0 etc) sont tellement persuadés que vous avez absolument besoin d'un dossier "Mes eBooks", "Mes Scans" ou ne je sais plus quoi encore qu'ils créent ces dossiers à l'installation mais aussi, et c'est bien là mon problème, à chaque démarrage du prg si vous avez eu l'outrecuidance de les supprimer. Bien sûr, l'option pour choisir ses dossiers spéciaux n'existe pas....

 

Je DETESTE que les prgs fassent leur besoins dans mon arborescence sans me demander mon avis.

 

Alors je me suis dit que cette information (le chemin des dossiers par défaut des prgs incriminés) devait se trouver quelque part. J'ai épluché la base de registre, rien. C'était donc dans un dll ou dans un autre fichier du programme. Je lance donc une recherche sur les fichiers contenant la chaine "Mes eBooks" et à ma grande surprise WinXP ne trouve rien. En fait, cet abruti se limite aux fichiers de type texte et n'explore donc pas les binaires alors que je lui ai demandé d'examiner tous les fichiers...

 

J'ai résolu le pb de façon indirecte en demandant à mon portable, encore sous Win98 mais relié à mon fixe par réseau, de trouver les fichiers renégats. L'ancêtre Win98 n'a jamais été très performant mais là, il en a remontré à XP... J'ai modifié le fichier incriminé avec un éditeur hexadécimal et je me suis débarrassé des eBooks et autres foutaises...

 

La question

 

Savez-vous comment forcer WinXP à examiner les binaires dans le cadre d'une recherche de fichier contenant une chaîne ascii ? A défaut, connaissez-vous un prg qui a cette fonctionnalité ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu pouvais continuer dans le post précédent ... enfin bon ...

Je le laisse parce qu'il est plus complet que l'ancien ...

 

Si t'as l'impression que la recherche ne regarde pas partout c'est tout simplement parce que Windows XP limite ses recherches à des types de fichiers prédéfinis tels que .bat, .doc, .inf, .ini, .reg, .txt, .vbs...

Si tu veux rechercher un mot dans un fichier .asc ou .jss (fichier de scripts de Jaws), la recherche ne s'effectuera pas dans ce type de fichiers et cela même si t'indiques *.*.... Mais il existe une solution à ce problème, et la voici : Résultat incomplet lors d'une recherche portant sur "un mot ou phrase dans le fichier" :P

Partager ce message


Lien à poster
Partager sur d’autres sites
de rien :P

426613[/snapback]

 

Encore un petite question Je viens d'essayer le script ; il permet pas d'ajouter les "dll" et les "exe" (comm il est expliqué d'ailleurs dans la FAQ).

 

J'ai essayé findstr mais j'ai tjrs du mal à décoder les man et autre aides... Si veux chercher "ebooks" dans tous les fichiers du dossier "E:\adobe" , je tape quelle commande ?

 

J'ai trouvé des explication + complètes sur http://www.ss64.com/nt/findstr.html mais en fait, mes essais donne des trucs bizarres... Donc ma question ci-dessus reste valable..

Modifié par VJM alpha

Partager ce message


Lien à poster
Partager sur d’autres sites
mais en fait, mes essais donne des trucs bizarres... Donc ma question ci-dessus reste valable..

426614[/snapback]

 

Quand dans une fenêtre de commande je suis dans E:\bureau\Adobe et que je tape findstr /s /i "ebooks" *.* ou la même chose avec *.dll au lieu de *.*, je vois défiler dans la fenêtre le contenu de certains fichiers ; aucune liste de fichier n'est générée. Si je tape findstr /s /i "ebooks" *.* > a.txt j'obtiens comme résultat un fichier html qui est l'un des "readme.htm" de AdobeReader....

 

Donc, en fin de compte, je reste sur ma faim et j'ai l'impression, pour l'instant, que la FAQ ne répond pas à la question que j'ai posée au début de ce sujet... En effet, modifier la base de registre est hasardeux (dixit faq), le script proposé ne permet pas de rajouter n'importe quelle extension et enfin, que Findstr puisse faire le travail escompté n'est pas clair (en tous cas pour moi).

Modifié par VJM alpha

Partager ce message


Lien à poster
Partager sur d’autres sites

Toutes les chaines de caractères ne sont pas toujours en 'clair' notamment dans les fichiers exe, ocx ou dll (dans les ressources, chaque caractère d'une string est précédé d'un caractère NULL)... regardes avec un éditeur de ressources comme eXescope ...

 

Parfois c'est même pire : l'executable peut être compressé et là, ni les ressources, ni les strings en 'clair' ne sont visibles ... il faut le décompresser d'abord, ce qui implique trouver quel logiciel de compression a été utilisé et trouver le décompresseur adéquat :/

Partager ce message


Lien à poster
Partager sur d’autres sites
Toutes les chaines de caractères ne sont pas toujours en 'clair' notamment dans les fichiers exe, ocx ou dll (dans les ressources, chaque caractère d'une string est précédé d'un caractère NULL)... regardes avec un éditeur de ressources comme eXescope ...

 

Parfois c'est même pire : l'executable peut être compressé et là, ni les ressources, ni les strings en 'clair' ne sont visibles ... il faut le décompresser d'abord, ce qui implique trouver quel logiciel de compression a été utilisé et trouver le décompresseur adéquat :/

426834[/snapback]

 

D'accord. Mais si win98 arrive a trouver dans les fichiers d'abobe ceux qui contiennent "Mes eBooks", c'est qu'il est probabble que cette chaine de caractère est en clair dans ces fichiers.

 

Par ailleurs, même si la commande findstr ne trouve pas ueh chaine donnée par ce qu'elle n'est pas en clair dans les fichiers scannés, je ne sais tjrs pas quelle commande taper pour que Findsstr me restirue la liste, éventuellement vide, des fichiers dans lesquels il a trouvé la chaîne ASCII recherchée... Sais-tu quelle comande il faut taper avec quels arguments ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu peux essayer ce format : findstr /S /R /d t.a. .c.h.a.i.n.e. .d.e. .c.a.r.a.c.t.è.r.e.s C:\ ça te permettra de chercher une chaine qui a chaque caractère séparé par un autre caractère (peut importe lequel) ...

Partager ce message


Lien à poster
Partager sur d’autres sites
Tu peux essayer ce format : findstr /S /R /d t.a. .c.h.a.i.n.e. .d.e. .c.a.r.a.c.t.è.r.e.s C:\ ça te permettra de chercher une chaine qui a chaque caractère séparé par un autre caractère (peut importe lequel) ...

426888[/snapback]

 

Je me suis placé dans le répertoire d'adobe et avec findstr /S /R /d ebook *.* > b.txt (/d est ignorée par winxp) , j'ai obtenu un fichier texte contenant la ligne

 

Reader\plug_ins\eBook.FRA:"IDS_EBOOK_CENTRAL=http://www.adobe.com/epaper/ebooks"

 

le pb c'est qu'y figure la ligne de ebook.fra où se trouve l'occurence trouvée de "ebook".

Or quand Finstr cherhce dans un dll, il peu afficher une ligne ou pluiseurs lignes très très longues rendant le résultat inexploitable.

 

Comment faire pour n'avoir QUE la liste des fichiers contenant la chaine cherchée ?

Modifié par VJM alpha

Partager ce message


Lien à poster
Partager sur d’autres sites

Votre contenu devra être approuvé par un modérateur

Invité
Vous postez un commentaire en tant qu’invité. Si vous avez un compte, merci de vous connecter.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement

×