Comment insérer deux conditions dans une boucle

Résolu/Fermé
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - Modifié le 30 juil. 2018 à 16:14
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 31 juil. 2018 à 10:12
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

jee pee Messages postés 40384 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 28 octobre 2024 9 396
30 juil. 2018 à 16:13
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
0
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020
31 juil. 2018 à 10:12
Tiens c'était aussi simple ! :-)
Merci beaucoup jee pee, ça fonctionne mieux effectivement.
Bonne journée
0