set (variable d’environnement)

Affiche, définit ou supprime les variables d’environnement cmd.exe. Si elle est utilisée sans paramètres, la commande set affiche les paramètres de variable d’environnement actuels.

Notes

Cette commande nécessite des extensions de commande, activées par défaut.

La commande set peut également s’exécuter à partir de la Console de récupération Windows, en utilisant différents paramètres. Pour plus d’informations, consultez Environnement de récupération Windows (WinRE).

Syntaxe

set [<variable>=[<string>]]
set [/p] <variable>=[<promptString>]
set /a <variable>=<expression>

Paramètres

Paramètre Description
<variable> Spécifie la variable d’environnement à définir ou à modifier.
<string> Spécifie la chaîne à associer à la variable d’environnement spécifiée.
/p Définit la valeur de <variable> sur une ligne d’entrée saisie par l’utilisateur.
<promptstring> Spécifie un message pour inviter l’utilisateur à entrer. Ce paramètre doit être utilisé avec le paramètre /p.
/a Définit <string> sur une expression numérique évaluée.
<expression> Spécifie une expression numérique.
/? Affiche l'aide à l'invite de commandes.

Notes

  • Si les extensions de commande sont activées (valeur par défaut) et que vous exécutez la commande set avec une valeur, toutes les variables commençant par cette valeur s’affichent.

  • Les caractères <, >, |, & et ^ sont des caractères d’interpréteur de commandes spéciaux. Ils doivent être précédés du caractère d’échappement (^) ou placés entre guillemets quand ils sont utilisés dans <string> (par exemple, « StringContaining&Symbol »). Si vous placez une chaîne contenant un caractère spécial entre guillemets, les guillemets sont définis comme faisant partie de la valeur de la variable d’environnement.

  • Utilisez des variables d’environnement pour contrôler le comportement de certains fichiers et programmes de commandes et pour contrôler la façon dont Windows et le sous-système MS-DOS apparaissent et fonctionnent. La commande set est souvent utilisée dans le fichier Autoexec.nt pour définir des variables d’environnement.

  • Si vous utilisez la commande set sans aucun paramètre, les paramètres d’environnement actuels s’affichent. Ces paramètres incluent généralement les variables d’environnement COMSPEC et PATH, utilisées pour faciliter la recherche de programmes sur disque. Deux autres variables d’environnement utilisées par Windows sont PROMPT et DIRCMD.

  • Si vous spécifiez des valeurs pour <variable> et <string>, la valeur spécifiée <variable> est ajoutée à l’environnement et la valeur <string> est associée à cette variable. Si la variable existe déjà dans l’environnement, la nouvelle valeur de chaîne remplace l’ancienne valeur de chaîne.

  • Si vous spécifiez uniquement une variable et un signe égal (sans <string>) pour la commande set, la valeur <string> associée à la variable est effacée (comme si la variable n’était pas là).

  • Si vous utilisez le paramètre /a, les opérateurs suivants sont pris en charge, dans l’ordre décroissant de priorité :

    Opérateur Opération effectuée
    ( ) Regroupement
    ! ~ - Unaire
    * / % Arithmétique
    + - Arithmétique
    << >> Déplacement logique
    & ET au niveau du bit
    ^ OU exclusif au niveau du bit
    = *= /= %= += -= &= ^= = <<= >>=
    , Séparateur d’expressions
  • Si vous utilisez des opérateurs logiques (&& ou ||) ou Modulo (%), placez la chaîne d’expression entre guillemets. Toutes les chaînes non numériques de l’expression sont considérées comme des noms de variables d’environnement, et leurs valeurs sont converties en nombres avant leur traitement. Si vous spécifiez un nom de variable d’environnement non défini dans l’environnement actuel, une valeur de zéro est attribuée, ce qui vous permet d’effectuer des opérations arithmétiques avec des valeurs de variable d’environnement sans utiliser « % » pour récupérer une valeur.

  • Si vous exécutez la commande set /a à partir de la ligne de commande en dehors d’un script de commande, elle affiche la valeur finale de l’expression.

  • Les valeurs numériques sont des nombres décimaux, sauf si le préfixe est « 0× » pour les nombres hexadécimaux ou « 0 » pour les nombres octaux. Par conséquent, « 0×12 » est identique à 18, qui est identique à 022.

  • La prise en charge de l’expansion différée des variables d’environnement est désactivée par défaut, mais vous pouvez l’activer ou la désactiver à l’aide de la commande cmd /v.

  • Lorsque vous créez des fichiers de commandes, vous pouvez utiliser la commande set pour créer des variables, puis les utiliser de la même façon que vous utiliseriez les variables numérotées %0 à %9. Vous pouvez également utiliser les variables %0 à %9 comme entrée pour la commande set.

  • Si vous appelez une valeur de variable à partir d’un fichier de commandes, placez la valeur avec des signes de pourcentage (%). Par exemple, si votre programme de traitement par lots crée une variable d’environnement nommée BAUD, vous pouvez utiliser la chaîne associée à BAUD comme paramètre remplaçable en saisissant %baud% à l’invite de commandes.

Exemples

Pour définir la valeur TEST^1 pour la variable d’environnement nommée testVar, saisissez :

set testVar=TEST^^1

La commande set affecte tout ce qui suit le signe égal (=) à la valeur de la variable. Par conséquent, si vous saisissez set testVar=TEST^1, vous obtenez le résultat suivant : testVar=TEST1.

Pour définir la valeur TEST&1 pour la variable d’environnement nommée testVar, saisissez :

set testVar=TEST^&1

Pour définir une variable d’environnement nommée include afin que la chaîne c:\directory lui soit associée, tapez :

set include=c:\directory

Vous pouvez ensuite utiliser la chaîne c:\directory dans des fichiers de commandes en délimitant le nom include avec des signes de pourcentage (%). Par exemple, vous pouvez utiliser dir %include% dans un fichier de commandes pour afficher le contenu du répertoire associé à la variable d’environnement include. Une fois cette commande traitée, la chaîne c:\directory remplace %include%.

Pour utiliser la commande set dans un programme de traitement par lots afin d’ajouter un nouveau répertoire à la variable d’environnement path, tapez :

@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set

Pour afficher la liste de toutes les variables d’environnement qui commencent par la lettre p, tapez :

set p

Pour afficher la liste de toutes les variables d’environnement sur l’appareil actuel, tapez :

set