Variables dans le langage de script Batch
1. Qu'est-ce qu'une variable ?
La variable est un concept de base en informatique. C'est une valeur qui peut changer. Comme d'autres langages, Batch a aussi le concept de variable.
En effet, Batch a 2 types de variables :
- Des variables ont déclaré dans un fichier à travers une commande set.
- Des arguments variable (Argument variable) sont transmises (pass) de l'extérieur lorsque le fichier est appelé pour l'exécution.
2. Des variables populaires
Le langage Batch n'a pas de concept clair de type de données. Normalement, une variable a la valeur qui est une chaîne (string), y compris les caractères après le signe = à la fin de la ligne. (Y compris les espaces vides si applicable).
Dans le cas où vous voulez déclarer une variable qui est un nombre, vous devez utiliser l'instruction set /A.
Pour accéder à la valeur d'une variable, vous devez clorer (enclosed) cette variable - là dans des signes %.
Exemple :
variableExample1.bat
@echo off
set name=Tran
set /A age= 37
echo %name%
echo %age%
set info=My Name is: %name%, Age: %age%
echo %info%
pause
variableExample2.bat
@echo off
set /A a = 100
set /A b = 200
echo a = %a%
echo b = %b%
set /A sum = a + b
echo Sum = %sum%
pause
3. Des arguments variable (Arguments variable)
Lorsque vous appelez pour exécuter un fichier batch, vous pouvez transférer (pass) des valeurs au fichier. Vous pouvez accéder ces valeurs via les variables telles que %1, %2, %3,... dans le fichier. Ces variables sont également appelées des arguments variable (Argument variables).
argumentVariables.bat
@echo off
@echo First argument is: %1
@echo Second argument is: %2
pause
Nous allons examiner l'exemple ci-dessus par l'ouverture la fenêtre CMD, et CD pour aller dans le dossier contenant le fichier argumentVariables.bat
Exécutez le fichier argumentVariables.bat avec des paramètres.
Des résultats :
4. Portée de la variable
Lorsqu'une fenêtre de commande (Command Window) est ouverte, elle démarre une session (session). Cette session se terminera à la fermeture de la fenêtre de commande. Au cours d'une session, vous pouvez exécuter un ou plusieurs fichiers batch. Les variables créées dans le fichier précédent peuvent être visitées dans le fichier suivant. De telles variables sont appelées variables globales (Global Variable). Cependant, vous pouvez créer une variable locale (Local Variable). La variable locale existe uniquement dans le fichier de définition ou dans une section de ce fichier.
Exemple des variables locales (Local Variables)
Des variables locales (Local variable) sont déclarés dans un bloc en commencant par le mot-clé setlocal et terminant par endlocal.
localVariable.bat
@echo off
set global1=I am a global variable 1
setlocal
set local1=I am a local variable 1
set local2=I am a local variable 2
echo ----- In Local Block! -----
echo local1= %local1%
echo local2= %local2%
endlocal
echo ..
echo ----- Out of Local Block! -----
echo global1= %global1%
echo local1= %local1%
echo local2= %local2%
pause
Exemple des variables globales (Global Variables):
Des variables, déclarées dans le fichier Batch, et ne sont pas trouvées dans le bloc setlocal .. endlocal, sera des variables globales. Elles peuvent être utilisées dans autres fichiers pendant la même session (Session).
Dans cet exemple, nous avons deux fichiers tels que batchFile1.bat et batchFile2.bat. La variable MY_ENVIRONMENT est définie dans le fichier 1 et il est utilisé dans le fichier 2.
batchFile1.bat
@echo off
set MY_ENVIRONMENT=C:/Programs/Abc;C:/Test/Abc
batchFile2.bat
@echo off
echo In batchFile2.bat
echo MY_ENVIRONMENT=%MY_ENVIRONMENT%
Ouvrez la fenêtre CMD, et CD au dossier contenant les dossier batchFile1.bat, batchFile2.bat, et exécutez ces fichiers respectivement.
5. L'environnement des variables de Windows
Windows vous permet de créer l'environnement des variables. Ces variables seront des variables globales qui peuvent être utilisées dans certains fichiers batch.
Sur Windows sélectionnez :
- Start Menu/Control Panel/System
- Advanced (Tab) > Environment Variables..
Ici, vous pouvez créer un environnement de variable pour le user actuel, ou une variable d'environnement système (system environment variable) qui peuvent être utilisée par n'importe quel user.
Par exemple, je crée une variable d'environnement avec le nom de MY_ENVIRONMENT_VARIABLE et ses valeurs de "My Environment Variable Value!".
Vous pouvez également utiliser la variable environnement créée dans un fichier batch.
testEnvVariable.bat
@echo off
echo %MY_ENVIRONMENT_VARIABLE%
pause