Votre question

[Bat] Rechercher chaine de caractere dans fichier txt

Tags :
  • Echo
  • Programmation
Dernière réponse : dans Programmation
8 Septembre 2006 13:45:57

Bonjour,
voila je voudrai savoir si il y a une commande pour rechercher une chaine de caractere ( ex: bonjour) dans un fichier .txt
D'avance merci
@+

Autres pages sur : bat rechercher chaine caractere fichier txt

8 Septembre 2006 13:52:54

sous Windows

find /V "chaine_recherchee" C:*.txt
8 Septembre 2006 14:17:48

ok meri beaucoup
par contre est-ce possible de reperer dans quel fichier il y a la chaine de caractere et que le nom du fichier soit dans une variable?
pour etre sur d'etre compri :
il y a 2 fichier : 1.txt et 2.txt
on recherche "bonjour" dans ces deux fichiers
il est present dans 1.txt
est-ce possible d'avoir %nom%=1.txt ?

d'avance merci
@+
Contenus similaires
a b L Programmation
8 Septembre 2006 20:43:16

Voici un script que j'ai testé pour trouver "toto" dans les fichiers .txt :
  1. @echo off
  2.  
  3. for /F "tokens=1,2* delims=: " %%A in ('find /C "toto" *.txt') DO (
  4. if %%C GTR 0 (
  5. echo Fichier: %%B
  6. echo Nombre d'occurences: %%C
  7. )
  8. )


je boucle sur les lignes de sortie du find et je découpe selon les caractères ':' et espace pour avoir: dans %%A des tirets, dans %%B le nom du fichier et %%C le nombre de fois trouvés (je teste si celui-ci est > 0).
9 Septembre 2006 22:47:21

ok merci Cricky je test ca :) 
10 Février 2009 08:25:30

Bonjour, je sais que se sujet date un peu ... mais quel serait la commande pour connaitre aussi le numero de la ligne ou le mot recherché se trouve.

Cordialement,

DURBAN38
a b L Programmation
11 Février 2009 20:47:25

Dans le FOR /F tu peux utiliser un compteur, mais attention car si tu lis ce compteur dans la boucle, il faut activer l'expansion retardée et utiliser !COMPTEUR! au lieu de %COMPTEUR%.
Sans expansion retardé, le compteur aura toujours la même valeur, car la variable d'environnement n'est modifiée qu'une fois la commande FOR terminée (ce qui ne se produit pas lorsque l'expansion retardée est activée et utilisée).
12 Février 2009 09:44:20

Désolé mais je ne connais pas très bien ce langage de programmation ... je n'arrive donc pas a retrouver l'indice des lignes ...
12 Février 2009 09:52:20

Sinon installe powershell et tu pourras trouver ta chaine avec un select-string.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS