Bonsoir à tous et tout d'abord, Noyeux Joël à tous .

Alors voilà, je suis déjà venu chercher un peu d'aide sur ce joli forum et je reviens car j'ai un (léger) problèmes avec quelques conditions IF/ELSE de base.
Mais apparemment, ce n'est pas le bon jour , où alors y'a un truc que je n'accroche pas .

Je vous explique mon programme :
Il va tout d'abord vérifier la présence de plusieurs logiciels de cette façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
if not exist "logiciels\cam.exe" (echo  Clean After Me         : ABSENT & set abs=1& set cam=0)
if not exist "logiciels\CCleaner.exe" (echo  CCleaner               : ABSENT & set abs=1& set ccleaner=0)
if not exist "logiciels\FCleaner.exe" (echo  FCleaner               : ABSENT & set abs=1& set fcleaner=0)

Il va donc attribuer une valeur à %ABS% si un ou plusieurs logiciels sont absents, et aussi attribuer un 0 à la variable du programme si il est absent. J'ai une quinzaine de logiciels tierces.

Maintenant, j'ai un menu pour lancer ces logiciels, seulement, j'ai fait en sorte que le batch vérifie la valeur des variables de chaque programme pour afficher, ou pas, le programme dans le menu. Mais ce n'est pas réellement cela le soucis. Il me faudrait arranger ce code :



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if "%fcleaner%"=="0" (
  if "%ccleaner%"=="0" (
    if "%cam%"=="0" (echo    º 6. -----                 º º                          º) 
	else (echo    º 6. Clean After Me        º º                          º)
  ) else (
    if "%cam%"=="0" (echo    º 6. CCleaner              º º                          º 
	) else (echo    º 6. CCleaner/CaM          º º                          º)
  )
) else (
  if "%ccleaner%"=="0" (
    if "%cam%"=="0" (echo    º 6. FCleaner              º º                          º 
	) else (echo    º 6. FCleaner/CaM          º º                          º)
  ) else (
      if "%cam%"=="0" (echo    º 6. F/CCleaner            º º                          º 
	  ) else (echo    º 6. F/CCleaner, CaM       º º                          º)
  ) 
)

J'avoue que je bloque un peu avec toutes ces parenthèses et ces ELSE IF ...
Ce que je voudrais :

Si ni FCleaner, ni CCleaner, ni CaM est présent, alors on affiche rien : echo º 6. ----- º º º
Si FCleaner est absent ainsi que CCleaner, mais pas CaM alors on affiche : echo º 6. Clean After Me º º º
Si FCleaner est absent, mais pas CCleaner et CaM alors on affiche : echo º 6. CCleaner/CaM º º º
Si FCleaner et CaM sont absents, mais pas CCleaner alors on affiche : echo º 6. CCleaner º º º
Si seulement FCleaner est présent alors on affiche : echo º 6. FCleaner º º º
etc ... vous m'avez compris.

Donc en bref, il me faudrait un affichage pour CHAQUE CAS de figure, donc :
1. -----
2. Clean After Me
3. CCleaner/CaM
4. FCleaner/CaM
5. F/CCleaner
6. FCleaner
7. CCleaner
8. F/CCleaner, CaM

Désolé si je m'explique un peu mal, c'est Noël, ça se justifie .
Merci d'avance !

Je compte distribuer ma suite de logiciels par la suite , fonctionne sur une clé USB 256Mo, contient 2 antivirus, et 2 anti espions/trj.
Très pratique en déplacement.