• 4 heures
  • Facile

Mis à jour le 07/11/2019

Les conditions

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Vous savez probablement déjà ce qu'est une condition dans la vie de tous les jours. Maintenant, voyons leur utilité en programmation.

Introduction et syntaxe

Admettons que nous réalisions un mini-jeu en Batch. Nous avons besoin de savoir si le nombre que l'utilisateur a rentré correspond au nombre mystère. Comment faire ? En utilisant les conditions. Le principe est simple, si x est égal à y, fais ceci, sinon fais cela.

Voici un exemple de condition :

if [COMPARE 1] [COMPARANT] [COMPARE 2] (
  :: action si la condition est respectée
) else (
  :: action si la condition n'est pas respectée
)

Analysons le code

Ligne 1 : On déclare la condition avec if puis on ajoute un objet (probablement une variable), ensuite on ajoute un comparant et enfin on met un autre objet. À la fin, on ajoute une parenthèses qui permet de définir les "limites" de la condition.

Ligne 2 : On exécute les instructions entre les parenthèses si la condition est respectée.

Ligne 3 : On ferme la parenthèse et on ajoute l'instruction else ("sinon" en français) et on ouvre la parenthèse pour définir ce qu'il se passe si la condition n'est pas respectée (il n'est cependant pas obligatoire de placer un bloc else à chaque condition).

Ligne 5 : On ferme la parenthèse.

Voici maintenant un tableau des comparants.

Comparant

Signification

equ (ou ==)

égal à

neq

différent de

lss

inférieur à

leq

inférieur ou égal à

gtr

supérieur à

geq

supérieur ou égal à

Les parenthèses délimitent un bloc de code : elles ne sont pas nécessaire si votre action tient sur la même ligne.

Un petit exemple pour la route :

if %variable1% == 12 (
  echo variable1 est egal a 12
) else (
  echo variable1 n'est pas egal a 12
)
if 42 == 42 echo Le monde marche !

Astuces

Conditions multiples

Contrairement à d'autres langages, il n'existe pas en Batch la possibilité et faire si condition_1 et condition_b alors fait ceci. On utilise plusieurs if pour arriver à faire des actions avec multiples conditions.

On peut très bien coller des if sur la même ligne pour exécuter une action.

Par exemple,

if valeur1 lss valeur2 if valeur3 lss valeur4 echo Youpi

N'écrira Youpi qusi valeur1 est plus petit que valeur2 et valeur3 est plus petit que valeur4. 

Je vous invite à tester par vous même, pas la peine d'écrire un programme entier tapez simplement dans l'invite de commandes le code en remplaçant chaque valeur par un nombre ;) .

Convertir du temps

Il est possible qu'il vous faille comparer deux temps différents. Batch ne propose malheureusement pas de faire cela. Comment faire ? C'est simple: convertissez le temps en nombre de minutes et laissez Batch comparer vos nombres :) .

Alternatives pour les fichiers

Pour les fichiers, la syntaxe se forme ainsi :

if not exist [FICHIER] (
  :: action si la condition est respectée
) else (
  :: action si la condition n'est pas respectée
)

Exemples

:: Affiche les choix de l'utilisateur
echo 1. Continuer - 2. Quitter

:: a prend pour valeur la saisie de l'utilisateur
set /p a=Que voulez-vous faire ?

:: Si l'utilisateur a écrit 2, on quitte le programme avec la commande exit
if %a%==2 ( exit )

:: Sinon on continue et on marque une pause afin que la console ne se ferme pas
echo Bienvenue
pause > nul
:: On crée le fichier pseudo.txt contenant PifyZ si celui-ci n'existe pas
if not exist pseudo.txt ( echo PifyZ > pseudo.txt )

Vous en apprendrez plus sur les fichiers et les dossiers dans la seconde partie du cours.

Exemple de certificat de réussite
Exemple de certificat de réussite