« DOS/Set » : différence entre les versions
Contenu supprimé Contenu ajouté
+ les commandes de suppression des zéros ne fonctionnent pas avec les nombre ayant des zéros internes (ex: 1001, 2009, ...) |
|||
Ligne 14 :
=== Affectation de variables ===
Les variables sont
==== Affectation de chaînes ====
Ligne 20 :
SET X=unechainedecaractère
la variable X vient d'être initialisée avec la valeur "unechainedecaractère".<br/>
Chaque
@echo off
Ligne 26 :
echo.
echo monnom :%monnom%
rem permet d'initialiser et d'afficher la variable monnom sur la console à la valeur "byby".
echo monprenom :%monprenom% monnom :%monnom%
echo nomcomplet :%nomcomplet%
rem voilà la concaténation de deux variables en une seule
pause
==== Affectation d'expressions numériques ====
Ligne 45 ⟶ 46 :
( ) + - * / % << >> & ^ ,
Les opérandes constituant l'expression à calculer peuvent être écrites en notation décimale, hexadécimale ou octale.
Cela peut générer des erreurs de calculs ou des messages d'erreur pas toujours
Retourne un message d'erreur :
Nombre non valide. Les constantes numériques doivent être soit décimales (17), soit hexadécimales (0x11), soit octales (021).
Tout nombre commençant par zéro (tel 0099) est considéré comme octal (chiffre de 0 à 7 inclus). Donc 8 et 9 ne peuvent apparaitre dans un tel nombre.
La commande correcte est la suivante :
SET /A A=1+99
▲ SET A=0009
==== Affectation utilisateur ====
Ligne 68 ⟶ 65 :
=== Suppression de variables ===
'''SET''' monnom=
=== Manipulation de variables ===
Ligne 77 ⟶ 74 :
ECHO %monnom%
Il est possible de ne récupérer qu'une partie de la chaîne de caractère contenue dans une variable d'environnement. Par exemple :
ECHO %monnom:~5%
Ceci récupère la chaîne à partir du caractère 5 jusqu'à la fin
ECHO %monnom:~5,2%
Ceci récupère la chaîne à partir du caractère 5 jusqu'aux 2 caractères suivants.
Si la valeur indiquée est négative, cela signifie un indexage à partir de la fin de la chaine :
ECHO %monnom:~2,-2%
Ceci récupère la chaîne du 2ème caractère en partant du début jusqu'au 2ème caractère en partant de la fin.
Il est possible de rechercher un chaine dans une variable et de la remplacer par une autre :▼
▲Il est possible de rechercher un chaine dans une variable et de la remplacer par une autre
SET chaine_resultante=%chaine_a_traiter:chaine_recherché=[chaine_de_remplacement]%
Ainsi avec la commande suivante,
set A="monfichierbatch.bat"
set A=%A:.bat=%
=== Variables prédéfinies ===
|