Guide de Débutant sur les Tableaux dans les Scripts Batch

Salut à toi, futurs programmeurs ! Aujourd'hui, nous allons plonger dans le monde passionnant des tableaux dans les scripts Batch. Ne t'inquiète pas si tu n'as jamais écrit une ligne de code auparavant - je serai ton guide amical tout au long de ce voyage. À la fin de ce tutoriel, tu manipuleras les tableaux comme un pro !

Batch Script - Arrays

Qu'est-ce qu'un Tableau ?

Avant de rentrer dans le vif du sujet, comprens ce qu'est un tableau. Imagine que tu as une boîte de crayons de couleur. Chaque crayon a une couleur différente, mais ils sont tous stockés dans une seule boîte. Un tableau est comme cette boîte - c'est un conteneur qui peut contenir plusieurs éléments (appelés éléments) du même type.

Créer un Tableau

Dans les scripts Batch, créer un tableau est simple. Nous utilisons la commande set pour définir notre tableau. Créons un tableau de fruits !

@echo off
set fruits[0]=Pomme
set fruits[1]=Banane
set fruits[2]=Cerise
set fruits[3]=Dattes
set fruits[4]=Airelles

Dans cet exemple, nous avons créé un tableau appelé fruits avec cinq éléments. Chaque élément est affecté un numéro d'index, en partant de 0.

Astuce Pro : Commence toujours ton index de tableau à 0. C'est une convention suivie dans la plupart des langages de programmation !

Accéder aux Tableaux

Maintenant que nous avons notre panier de fruits (tableau), comment choisir un fruit spécifique ? Nous utilisons le numéro d'index !

@echo off
set fruits[0]=Pomme
set fruits[1]=Banane
set fruits[2]=Cerise

echo Le premier fruit est : !fruits[0]!
echo Le deuxième fruit est : !fruits[1]!
echo Le troisième fruit est : !fruits[2]!

Lorsque vous exécutez ce script, vous verrez :

Le premier fruit est : Pomme
Le deuxième fruit est : Banane
Le troisième fruit est : Cerise

Notez les points d'exclamation (!) autour des références de tableau. Ceux-ci sont cruciaux ! Ils indiquent à Batch d'utiliser l'expansion différée, nécessaire pour accéder aux éléments du tableau.

Modifier un Tableau

Que se passe-t-il si nous décidons que nous préférons les Mûres à la Banane ? Pas de problème ! Nous pouvons facilement modifier notre tableau :

@echo off
setlocal enabledelayedexpansion

set fruits[0]=Pomme
set fruits[1]=Banane
set fruits[2]=Cerise

echo Avant : Le deuxième fruit est !fruits[1]!

set fruits[1]=Mûre

echo Après : Le deuxième fruit est !fruits[1]!

Ce script affichera :

Avant : Le deuxième fruit est Banane
Après : Le deuxième fruit est Mûre

Voyez comme c'était facile ? Nous avons simplement remplacé le deuxième élément de notre tableau !

Itérer sur un Tableau

Maintenant, que faire si nous voulons voir tous les fruits dans notre panier ? Nous pouvons utiliser une boucle for pour itérer sur notre tableau :

@echo off
setlocal enabledelayedexpansion

set fruits[0]=Pomme
set fruits[1]=Mûre
set fruits[2]=Cerise
set fruits[3]=Dattes
set fruits[4]=Airelles

for /L %%i in (0,1,4) do (
echo Fruit %%i est : !fruits[%%i]!
)

Ce script affichera :

Fruit 0 est : Pomme
Fruit 1 est : Mûre
Fruit 2 est : Cerise
Fruit 3 est : Dattes
Fruit 4 est : Airelles

Voici ce qui se passe :

  • /L indique à la boucle de s'itérer sur une plage de nombres
  • %%i est notre variable de boucle
  • (0,1,4) signifie commencer à 0, incrémenter de 1, et s'arrêter à 4

Longueur d'un Tableau

Contrairement à certains autres langages de programmation, Batch n'a pas une manière intégrée pour obtenir la longueur d'un tableau. Mais ne t'inquiète pas ! Nous pouvons créer une petite solution de contournement :

@echo off
setlocal enabledelayedexpansion

set fruits[0]=Pomme
set fruits[1]=Mûre
set fruits[2]=Cerise
set fruits[3]=Dattes
set fruits[4]=Airelles

set "x=0"
:SymLoop
if defined fruits[%x%] (
set /a "x+=1"
GOTO :SymLoop
)
echo Le tableau fruits a %x% éléments.

Ce script affichera :

Le tableau fruits a 5 éléments.

Ce que nous faisons ici, c'est compter combien d'éléments sont définis jusqu'à ce que nous atteignions un élément non défini. C'est comme compter combien de crayons il y a dans la boîte jusqu'à ce que nous atteignions un emplacement vide !

Créer des Structures dans les Tableaux

Maintenant, passons à quelque chose de plus avancé. Nous pouvons utiliser les tableaux pour créer des structures plus complexes. Faisons une "base de données" de fruits avec leurs couleurs !

@echo off
setlocal enabledelayedexpansion

set "fruits[0].name=Pomme"
set "fruits[0].color=Rouge"
set "fruits[1].name=Banane"
set "fruits[1].color=Jaune"
set "fruits[2].name=Myrtille"
set "fruits[2].color=BLEU"

for /L %%i in (0,1,2) do (
echo Fruit %%i est une !fruits[%%i].color! !fruits[%%i].name!
)

Cela affichera :

Fruit 0 est une Rouge Pomme
Fruit 1 est une Jaune Banane
Fruit 2 est une BLEU Myrtille

Nous avons créé une structure où chaque fruit a un nom et une couleur. C'est comme avoir une boîte de crayons plus détaillée, où chaque crayon a une couleur et un nom spécifique !

Conclusion

Félicitations ! Tu viens de faire tes premiers pas dans le monde des tableaux dans les scripts Batch. Nous avons couvert la création de tableaux, l'accès et la modification des éléments, l'itération sur les tableaux, la determination de la longueur, et même la création de structures plus complexes.

N'oublie pas, la pratique rend parfait. Essaie de créer tes propres tableaux, peut-être avec tes livres ou films préférés. Expérimente avec différentes manières de manipuler et de présenter les données. Avant de te rendre compte, tu utiliseras des tableaux pour organiser et gérer toutes sortes d'informations dans tes scripts !

Bonne programmation, et puissent tes tableaux toujours être fructueux ! ???

Méthode Description
Créer un Tableau Utilise set nom_tableau[index]=valeur
Accéder aux Éléments du Tableau Utilise !nom_tableau[index]! avec l'expansion différée
Modifier un Tableau Réassigne une valeur avec set nom_tableau[index]=nouvelle_valeur
Itérer sur un Tableau Utilise une boucle for /L
Trouver la Longueur d'un Tableau Utilise une boucle pour compter les éléments définis
Créer des Structures Utilise la notation pointée : nom_tableau[index].propriété=valeur

Credits: Image by storyset