420-1Q1-AA Help

Les variables

Dans les fichiers batch sous Windows, les variables permettent de stocker des valeurs que vous pouvez réutiliser tout au long de votre script. Elles sont utiles pour rendre un fichier batch plus flexible, pour demander des entrées à l’utilisateur, ou pour manipuler des données de manière dynamique.

1. Définir et utiliser une variable avec set

La commande set permet de définir des variables. Voici la syntaxe de base :

set variable=valeur
  • variable: Le nom de la variable.

  • valeur: La valeur que vous souhaitez stocker dans la variable.

Exemple :

@echo off set nom=Jean echo Bonjour %nom%, bienvenue !

2. Afficher la valeur d'une variable

Pour afficher la valeur d'une variable, il suffit d'utiliser le nom de la variable entouré de %:

echo %variable%

Exemple :

@echo off set age=25 echo Vous avez %age% ans.

3. Demander une entrée utilisateur avec set /p

La commande set avec l'option /p permet de demander une entrée utilisateur et de la stocker dans une variable.

set /p variable=Message

Exemple :

@echo off set /p nom="Quel est votre nom ? " echo Bonjour %nom% !

4. Utiliser des variables prédéfinies

Windows fournit plusieurs variables d’environnement prédéfinies que vous pouvez utiliser dans vos fichiers batch.

Variables prédéfinies utiles :

  • %username%: Le nom de l’utilisateur actuellement connecté.

  • %date%: La date actuelle.

  • %time%: L'heure actuelle.

  • %cd%: Le répertoire de travail actuel.

  • %temp%: Le répertoire temporaire.

  • %random%: Un nombre aléatoire entre 0 et 32767.

Exemple d'utilisation :

@echo off echo Nom d'utilisateur actuel : %username% echo Date actuelle : %date% echo Heure actuelle : %time% echo Répertoire courant : %cd% echo Fichier temporaire : %temp% echo Nombre aléatoire : %random%

5. Variables locales et globales

Les variables définies avec set sont globales à tout le script, mais vous pouvez restreindre leur portée en utilisant des blocs de code ou des sous-programmes.

Exemple avec un bloc de code :

@echo off ( set localVar=10 echo Valeur dans le bloc : %localVar% ) echo Valeur en dehors du bloc : %localVar% (cette variable n'existe pas ici)

6. Manipulation des chaînes de caractères

Vous pouvez extraire ou manipuler une partie de la valeur d'une variable en utilisant la syntaxe suivante :

%variable:~début,taille%

Exemple :

@echo off set var=BonjourToutLeMonde echo Extraire "Bonjour" : %var:~0,7% echo Extraire "Tout" : %var:~7,4%

7. Utiliser des variables dans des boucles et conditions

Exemple avec une boucle for:

@echo off for %%f in (*.txt) do ( echo Traitement du fichier %%f )

Exemple avec une condition if:

@echo off set /p age="Quel âge avez-vous ? " if %age% gtr 18 ( echo Vous êtes majeur. ) else ( echo Vous êtes mineur. )

8. Incrémentation des variables

Les variables numériques dans un fichier batch ne peuvent pas être incrémentées directement. Utilisez set /a pour effectuer des opérations arithmétiques.

Exemple :

@echo off set /a compteur=0 :debut echo Compteur : %compteur% set /a compteur=%compteur% + 1 if %compteur% lss 5 goto debut

9. Effacer une variable

Pour effacer une variable, utilisez set sans valeur :

set variable=

Exemple :

@echo off set nom=Jean echo Nom défini : %nom% set nom= echo Nom effacé : %nom%

10. Remplacement de texte dans une variable

Vous pouvez effectuer des remplacements de texte dans les valeurs des variables avec la syntaxe suivante :

%variable:ancien=nouveau%

Exemple :

@echo off set texte=Bonjour Monde echo Avant : %texte% echo Après : %texte:Monde=Utilisateur%

En résumé, les variables dans les fichiers batch sont essentielles pour rendre les scripts plus dynamiques et puissants. Elles permettent de manipuler des données, d'interagir avec l'utilisateur, et de simplifier les opérations dans les fichiers batch sous Windows.

Last modified: 07 October 2024