[Batch] ELSE IF : Plusieurs variables
BeFaX
Messages postés
14245
Date d'inscription
Statut
Contributeur
Dernière intervention
-
BeFaX Messages postés 14245 Date d'inscription Statut Contributeur Dernière intervention -
BeFaX Messages postés 14245 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir à tous et tout d'abord, Noyeux Joël à tous :).
Alors voilà je viens ici 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 :
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 :
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 :
Si FCleaner est absent ainsi que CCleaner, mais pas CaM alors on affiche :
Si FCleaner est absent, mais pas CCleaner et CaM alors on affiche :
Si FCleaner et CaM sont absents, mais pas CCleaner alors on affiche :
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 !
Alors voilà je viens ici 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 :
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 :
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 !
A voir également:
- [Batch] ELSE IF : Plusieurs variables
- Fichier batch - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Echo off batch ✓ - Forum Autoit / batch
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- If exist batch ✓ - Forum Autoit / batch
1 réponse
J'ai essayé plusieurs tentatives, et c'est vraiment bizarre, car si je change mon batch de répertoire, il me fait une erreur :
"( était attendu"
Quand je suis dans le dossier où j'ai créé le batch, mes else/if fonctionnent très bien, par contre, si je le copie dans un autre répertoire, il me fait cette erreur :(.
"( était attendu"
Quand je suis dans le dossier où j'ai créé le batch, mes else/if fonctionnent très bien, par contre, si je le copie dans un autre répertoire, il me fait cette erreur :(.