Comment insérer deux conditions dans une boucle [Résolu/Fermé]

Signaler
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
Bonjour,
J'ai un %fichier% composé de plusieurs prénoms à la suite.
Mon but est d'extraire les prénoms récurrents (David et fred) et produire un %fichier_final%.
Voici un extrait du fichier source:
Paul
Aurélie
Fred
Régine
Thierry
Dimitri
David
Carlos
Ahmed
Sophie
David
Aurélien
etc...

Pour effectuer cette opération j'ai créé le script suivant, mais ça ne donne pas le résultat espéré:
for /f "tokens=1" %%b in ('type %fichier%') do (
if "%%b"=="" (
  goto SUITE
  ) else (
  if %%b== "Fred" if %%b== "David" (
  endlocal
   ) else (
    echo %%b >> %fichier_final%
    endlocal
   )
    )
       )
setlocal disabledelayedexpansion
:SUITE


Je pense que c'est ma condition qui n'est pas correcte.
Deux "if" qui se suivent, je ne sais pas si c'est bien catholique :-)

Auriez-vous svp des suggestions à me faire ?
Merci d'avance pour votre aide
Ka-El

2 réponses

Messages postés
32141
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
13 juin 2021
7 738
Salut,

Tu peux mettre 2 if, mais il faut que ce soit logique, là quand c'est égal à Fred tu testes si c'est égal à David donc bien sur cela ne fonctionne pas.

A essayer :
if %%b neq "Fred" if %%b neq "David" echo %%b >> %fichier_final%
endlocal  


cdlt
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020

Tiens c'était aussi simple ! :-)
Merci beaucoup jee pee, ça fonctionne mieux effectivement.
Bonne journée