Script batch recherche de chaine et renvoi resultat

Zorc -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je suis confronté à un problème dans mon script batch.
Voici le cheminement du script que j aimerais mettre en place:

Pour tous les fichiers contenu dans c:\dossier\*.txt rechercher la chaine "toto". Si le fichier contient cette chaine "toto" renvoyer le chemin de ce fichier dans c:\resultat.txt

Voila ce que j'ai essayer mais qui ne fonctionne pas

FOR /F "tokens=1,2* delims=: " %%A IN ('FIND /C "toto" c:\*.txt) DO (
IF %%A GTR 0 ( %%B >>resultat.txt )
)

Merci de votre aide

3 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Bonjour,

    Tu ne cherches pas dans le bon dossier :

    FIND /C "toto" c:\*.txt
    0
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      Et je pense qu'il y a plus simple à faire :

      FOR %%A IN (FIND "toto" c:\dossier\*.txt) DO (%%A >> c:\resultat.txt)
      0
  2. TAC
     
    Et Peut on remplacer "toto" par une variable déclaré précedement ?

    SET VARIABLE=toto

    FOR /F "tokens=1,2* delims=: " %%A IN ('FIND /C "%VARIABLE%" c:\*.txt) DO (
    IF %%A GTR 0 ( %%B >>resultat.txt ) )

    Merci
    0
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      oui ça fonctionne avec une variable.
      0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    for /f "tokens=1-3 delims=: " %%A in ('find /c "toto" C:\dossier\*.txt ') do if %%C NEQ 0 echo %%B >> c:\resultat.txt 
    0