FOR et FINDSTR dans un Batch File

Fermé
royinfo Messages postés 3 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 26 mars 2010 - 26 mars 2010 à 13:38
dubcek Messages postés 18728 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 mai 2024 - 26 mars 2010 à 16:09


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)
A voir également:

2 réponses

dubcek Messages postés 18728 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 mai 2024 5 615
26 mars 2010 à 15:15
hello

@echo off

(for /f "delims=" %%f in ('dir /b/s') do findstr /m "toto tata titi" "%%f" ) > resultat.txt
type resultat.txt
0
royinfo Messages postés 3 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 26 mars 2010
26 mars 2010 à 15:40
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é ?
0
dubcek Messages postés 18728 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 mai 2024 5 615
Modifié par dubcek le 26/03/2010 à 16:24
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

0