FOR et FINDSTR dans un Batch File

[Fermé]
Signaler
Messages postés
3
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
26 mars 2010
-
Messages postés
18253
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
27 août 2021
-


Bonjour, je dois faire un batch file qui regarde dans tous les fichiers *.* du repertoire C: ainsi que ces sous-repertoires pour les fichiers qui ont les chaines de caracteres "tata" et "toto" et "titi". Les fichiers qui ont ces 3 chaines de caracteres doivent etre affiche a l'ecran (incluant le repertoire du fichier) et ecrire le repertoire/fichier dans un fichier d'output (resultat.txt)

est-ce que quelqu'un a une solution

merci beaucoup d'aider un débutant en windows (je suis un Ex de Unix)

2 réponses

Messages postés
18253
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
27 août 2021
5 344
hello

@echo off

(for /f "delims=" %%f in ('dir /b/s') do findstr /m "toto tata titi" "%%f" ) > resultat.txt
type resultat.txt
Messages postés
3
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
26 mars 2010

Merci beaucoup de la reponse.. j'ai essayé et fonctionne en parti. Les 3 chaines de caractères doivent exister dans le même fichier pour que le fichier soit sélectionné. On dirait qu'avec ce code, que l'une des 3 chaines est trouvées de fichier sera sélectionné ?
Messages postés
18253
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
27 août 2021
5 344
effectivement. tu veux que les 3 chaines soient présentes ?

il y a surement plus simple
@echo off

(for /f "delims=" %%f in ('dir /b/s') do findstr /m "tata" "%%f") > resultat1.txt
(for /f "delims=" %%f in ('type resultat1.txt') do findstr /m "titi" "%%f") > resultat2.txt
(for /f "delims=" %%f in ('type resultat2.txt') do findstr /m "toto" "%%f") > resultat.txt
type resultat.txt