• 4 heures
  • Facile

Mis à jour le 07/11/2019

Les variables

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

Dans ce chapitre, nous allons découvrir les variables, qui sont essentielles à tout programme.

Une variable, c'est quoi ?

Ah, les variables. Si vous êtes nouveaux dans la programmation, dites-vous que ces variables ne vous lâcheront jamais. Jamais. C'est donc le bon moment pour bien comprendre ce qu'elles sont.

Une variable est une partie du langage composée de deux éléments : un nom (aussi connu sous le nom de pointeur), et une valeur. Le nom pointe vers un emplacement précis de la mémoire ayant une valeur qui lui a été attribué à sa création et qui peut être modifié. Les variables sont utilisables n'importe où dans le programme et permettent de retenir des informations précises. Elles permettent d'effectuer des opérations tout le long du programme (calculs, conditions...). Dans ce chapitre, vous allez apprendre à les manipuler. ;)

Les différents types de variables

Dans un script Batch, on différencie deux types de variables : les variables du script et les‌ variables d'environnement.

Variables du script

Les variables du script sont tout simplement les variables que nous créerons pendant le programme.

Les variables d'environnement

Les variables d'environnement vous seront sûrement utiles lors de la création de vos programmes ; elles ont des valeurs bien précises qui s'adaptent à l'ordinateur sur lequel elles se trouvent. Il est conseillé de ne pas créer de variables portant leurs noms.

Elles peuvent vous servir pour des programmes d'installation, par exemple.

Voici un tableau de quelques-uns des dizaines de variables d'environnement.

Variable

Valeur

%COMPUTERNAME%

Le nom de l'ordinateur

%COMSPEC%

Indique l'emplacement de la console

%HOMEDRIVE%

Indique où se situe le lecteur principal

%HOMEPATH%

Indique où se trouve le dossier personnel de l'utilisateur en cours

%LOGONSERVER%

Donne l'adresse réseau de l'ordinateur

%NUMBER_OF_PROCESSORS%

Donne le nombre de processeurs installés sur l'ordinateur

%OS%

Donne le système d'exploitation installé

%PATH%

Donne les adresses PATH

%PROCESSOR_ARCHITECTURE%

Donne l'architecture du processeur

%PROCESSOR_IDENTIFIER%

Donne l'identification du processeur

%PROGRAMFILES%

Donne l'adresse du répertoire des programmes

%SYSTEMDRIVE%

Donne le lecteur principal

%SYSTEMROOT%

Donne le répertoire où se situe le système

%TEMP%

Donne l'adresse du répertoire temporaire

%USERNAME%

Donne le nom de l'utilisateur

%USERPROFILE%

Donne le répertoire personnel de l'utilisateur en cours

%WINDIR%

Donne le répertoire où est installé Windows

%DATE%

Date de l'ordinateur

%TIME%

L'heure de l'ordinateur

%CD%

Donne l'emplacement actuel de la console

%RANDOM%

Nombre aléatoire

%CMDCMDLINE%

Donne l'emplacement de la console.

Déclarer des variables

Déclarons donc nos variables. En Batch, on utilise la commande set.

set alloue un endroit dans la mémoire et donne un nom à son emplacement qui sera celui du mot qui suit, puis = indique que nous mettons désormais une valeur à cet emplacement, celle qui suit le signe égal.

Par exemple :

set pseudo=Etoile Filante

Voilà, vous avez créé votre première variable ! Et si on essayait de faire des calculs maintenant ?

Essayons de calculer le contenu de deux variables :

set a=2
set b=5
set resultat=%a%+%b%

J'ai essayé de faire echo %resultat%, mais j'obtiens "2+5", comment puis-je effectuer un calcul ?

Il faut utiliser ce qu'on appelle un commutateur : c'est un signe qui se place entre set et le nom de la variable.

Afin d'effectuer un calcul, il faut utiliser le commutateur /a, comme ceci :

set a=2
set b=5
set /a resultat=%a%+%b%
:: resultat vaut maintenant 7

Maintenant tout est nickel. ^^

Il existe plusieurs autres commutateurs, mais pour le moment nous allons parler de /p, qui permet de récupérer les données saisies par l'utilisateur.

:: saisie vaut ce que l'utilisateur... saisit :)
set /p saisie=Saisissez votre texte:

Il est aussi possible de récupérer seulement une partie de la valeur d'une variable :

set pseudo=PifyZ
set variable=%pseudo:~1,3%
echo %variable%
:: retourne "ify"

Ce programme récupérera trois caractères en commençant par le deuxième (le "i").

La position des caractères commence par zéro, le premier est donc "P" mais afin de le récupérer il aurait fallu utiliser 0 à la place de 1.

Quelques exemples

:: a prend pour valeur PifyZ
set a=PifyZ

:: b prend pour valeur 2+5, soit 7
set /a b=2+5

:: c prend pour valeur un nombre aléatoire
set /a c=%RANDOM%

:: d prend pour valeur 10
set /a d=%b%+3

:: e prend pour valeur la saisie de l'utilisateur
set /p e=Quel est votre pseudo ?

:: Affiche le contenu de la variable d (ici elle vaut 10)
echo %d%

:: Affiche le "f" contenu dans la variable a
echo %a:~2,1%

:: Affiche l'heure de l'ordinateur
echo %TIME%
echo %c%

Les variables, on les utilise partout, nous allons maintenant voir comment tester leurs valeurs avec des conditions :) .

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