Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3104 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Findstr ( qui trouvera la solution ? )

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Findstr ( qui trouvera la solution ? )

n°1995033
philou192
Posté le 21-05-2010 à 11:23:03  profilanswer
 

Je cherche à trouver le nombre de toto et de tata entre les lignes compte et compteplus et pas entre les lignes Ccompteplus et compte >>>TEST.TXT
TEST.TXT
21.Mai 11:30:15  compte
21.Mai 11:31:59  toto
21.Mai 11:32:07  toto  
21.Mai 11:32:08  tata
 
21.Mai 11:32:08  compteplus  
21.Mai 11:32:08  tata  
21.Mai 11:32:09  toto  
21.Mai 11:32:15  compte  
21.Mai 11:32:17  toto  
21.Mai 11:33:03  toto

21.Mai 11:37:20  compteplus  
21.Mai 11:37:22  toto  
21.Mai 11:41:03  toto  
21.Mai 11:41:03  tata  
21.Mai 11:41:11  compte  
21.Mai 11:41:12  toto
 
JOURSTAT.BAT
@echo off
rem ======================================== "toto" ======================================================  
set /a ComptA =0
Findstr /c:"toto" "test.txt" > jour.txt
for /f "delims=" %%i in (jour.txt) do set /a ComptA+=1
echo nombre de toto : %comptA% >> "fin.txt"
rem ======================================== "tata" ======================================================  
set /a ComptB =0
Findstr /c:"tata" "test.txt" > jour.txt
for /f "delims=" %%i in (jour.txt) do set /a ComptB+=1
echo nombre de tata : %comptB% >> "fin.txt"
 
Je trouve comme résultat : TOTO = 8     TATA = 3           Voici ce que je désire avoir comme résultat :  TOTO = 5   TATA = 1  
J'ai tout essayé, mais je ne vois pas de solution. D'avance, merci de votre aide


Message édité par philou192 le 21-05-2010 à 14:27:54
mood
Publicité
Posté le 21-05-2010 à 11:23:03  profilanswer
 

n°1998378
aigles
Posté le 02-06-2010 à 14:43:20  profilanswer
 

Le code suivant devrait faire l'affaire :

Code :
  1. SET /A CompteToto=0
  2. SET /A CompteTata=0
  3. FOR /F "tokens=3" %%m in (TEST.TXT) DO (
  4.           IF "%%m" == "compte"     ( SET Compter=OUI
  5.    ) ELSE IF "%%m" == "compteplus" ( SET Compter=
  6.    ) ELSE CALL CALL :CompterMots %%m
  7. )
  8. echo Nombre de 'toto' : %CompteToto%
  9. echo Nombre de 'tata' : %CompteTata%
  10. GOTO :EOF
  11. GOTO :_Apres_CompterMots
  12. :CompterMots
  13.    IF "%Compter%" == "OUI" (
  14.              IF "%1" == "toto"  ( SET /A CompteToto += 1
  15.       ) ELSE IF "%1" == "tata"  ( SET /A CompteTata += 1 )
  16.    )
  17.    GOTO :EOF
  18. :_Apres_CompterMots


 
Jean-Pierre.


Message édité par aigles le 02-06-2010 à 14:45:01
n°1998471
philou192
Posté le 02-06-2010 à 17:40:23  profilanswer
 

Merci beaucoup, Jean Pierre.
C'est exactement ce que je recherchais. Chapeau ! ! !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Findstr ( qui trouvera la solution ? )

 

Sujets relatifs
Co-browsing... solution ? Besoin de conseils.quelle solution pour creation de site web
Problème chrome, solution "span" avant doctype...quel genre de solution(s) pour mon projet de site web?
Insertion dans une bdd depuis un client messagerie. Quelle solution ?Recherche d'une solution pour gérer des données simples
Acheter une solution de type "notation des produits par le public"Quelle solution pour un site multilingue
Meilleure solution sécurité pour site web PHP/MysqlProblème affichage solution
Plus de sujets relatifs à : Findstr ( qui trouvera la solution ? )


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)