Si les extensions de commandes sont activées, SET est modifié comme suit : La commande SET appelée avec un nom de variable ...

Si les extensions de commandes sont activées, SET est modifié comme suit :

La commande SET appelée avec un nom de variable seulement, sans signe égal
ou valeur, affiche la valeur de toutes les variables dont le préfixe correspond
au nom donné à la commande SET. Par exemple :

    SET P

affiche toutes les variables qui commence avec la lettre 'P'

La commande SET fixe la valeur ERRORLEVEL à 1 si le nom de variable n'est
pas trouvé dans l'environnement en cours.

La commande SET n'autorise pas qu'un signe égal (=) fasse partie du nom d'une
variable.

Deux nouvelles options ont été ajoutées à la commande SET :

    SET /A expression
    SET /P variable=[ChaîneInvite]

L'option /A spécifie que la chaîne à droite du signe égal est une
expression numérique qui est évaluée. L'évaluation de l'expression est assez
simple et prend en charge les opérations suivantes dans l'ordre décroissant
de préséance :

    ()                   - groupement
    ! ~ -                - opérateurs unaires
    * / %%                - opérateurs arithmétiques
    + -                  - opérateurs arithmétiques
    << >>                - décalage logique
                        - ET au niveau du bit
    ^                    - OU exclusif au niveau du bit
    |                    - OU au niveau du bit
    = *= /= %%= += -=     - attribution
      &= ^= |= <<= >>=
    ,                    - séparateur d'expression

Si vous utilisez des opérateurs logiques ou des nombres, vous devez mettre
l'expression entre guillemets. Toute chaîne non numérique dans l'expression est
traitée comme une variable d'environnement dont les valeurs sont converties en
nombres avant d'être utilisées. Si un nom de variable d'environnement est
spécifié mais n'est pas défini dans l'environnement en cours, alors la valeur
zéro est utilisée. Cela vous permet de faire des opérations avec les valeurs
d'une variable d'environnement sans avoir à entrer des signes %% pour obtenir
ces valeurs. Si SET /A est exécuté à partir de la ligne de commande en dehors
d'un script de commande, alors la valeur finale de l'expression est affichée.
L'opérateur d'assignation requiert un nom de variable d'environnement à
gauche du cet opérateur. Les valeurs numériques sont des nombres décimaux, à
moins qu'ils ne soient préfixés par 0x pour les valeurs hexadécimales et 0
pour la notation octale. Donc 0x12 est identique à 18 et
à 022. Notez que la notation octale peut être confuse : 08 et 09 ne sont pas
valides car 8 et 9 ne sont pas des nombres valides en notation octale.