La commande : "SET" est activé Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponible
Les exemples pour la commande "SET"
Le
`SET`La commande dans l’invite de commande Windows est utilisée pour créer, afficher ou modifier des variables d’environnement. Voici quelques exemples d'utilisation du
`SET`-Commande:
Exemple 1 : Créez une nouvelle variable d'environnement :
SET NOUVEAU_VARIABLE=Contenu
Description : Cette commande crée une nouvelle variable d'environnement nommée
`NOUVEAU_VARIABLE`et la valeur
`Contenu`.
Exemple 2 : Afficher une variable d'environnement existante :
SET EXISTANT_VARIABLE
Description : Cette commande affiche la valeur de la variable d'environnement
`EXISTANT_VARIABLE`à.
Exemple 3 : Afficher toutes les variables d'environnement :
SET
Description : En entrant
`SET`sans variable spécifique, toutes les variables d'environnement et leurs valeurs sont affichées.
Exemple 4 : Supprimer une variable :
SET NOUVEAU_VARIABLE=
Description : Il s'agit de la valeur de la variable d'environnement
`NOUVEAU_VARIABLE`supprimé.
Exemple 5 : Utilisation d'une variable dans un fichier batch :
ECHO %NOUVEAU_VARIABLE%
Description : Cette commande renvoie la valeur de la variable d'environnement
`NOUVEAU_VARIABLE`hors de. Dans les fichiers batch, la syntaxe
`%Variable%`utilisé pour accéder à la valeur d’une variable d’environnement.
Exemple 6 : Enregistrez l'entrée de l'utilisateur dans une variable :
SET /P ENTRÉE UTILISATEUR=Entrez quelque chose:
Description : Cette commande invite l'utilisateur à saisir quelque chose et stocke l'entrée dans la variable d'environnement.
`ENTRÉE UTILISATEUR`.
Il existe de nombreuses options et fonctionnalités avancées du
`SET`commande, y compris les modifications de chaînes, l'utilisation de variables d'environnement dans des scripts batch, et bien plus encore. À propos de l'entrée
`SET /?`dans l'invite de commande, vous obtiendrez une liste des options disponibles et des informations plus détaillées.
"SET" Extrait de l'aide de Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
Affiche, fixe ou supprime des variables d'environnement de cmd.exe.
SET [variable=[chaîne]]
variable Nom de la variable d'environnement.
chaîne Chaîne de caractères à affecter à la variable.
SET sans paramètres affiche les variables d'environnement définies.
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.
L'option /P vous permet de fixer la valeur d'une variable avec une ligne
entrée par l'utilisateur. Elle affiche la chaîne ChaîneInvite spécifiée
avant de lire la ligne entrée. La ChaîneInvite peut être vide.
La substitution de la variable d'environnement a été améliorée comme suit :
%PATH:ch1=ch2%
développe la variable d'environnement PATH, remplaçant chaque
occurrence de "ch1" dans le résultat développé par "ch2". "ch2" peut être
une chaîne vide pour supprimer toutes les occurrences de "ch1" de la sortie
développée. "ch1" peut commencer par un astérisque, auquel cas
la commande traitera la chaîne à partir du début et jusqu'à la première
occurrence du reste de ch1.
Vous pouvez aussi spécifier des sous-chaînes pour une expression.
%PATH:~10,5%
développe la variable d'environnement PATH et utilise seulement 5
caractères à partir du onzième (décalage de 10) dans le résultat sous forme
développée. Si la longueur n'est pas spécifiée, tout le reste de la valeur
de la variable est traité. Si l'une des valeurs (décalage ou longueur)
est négative, alors le nombre utilisé est la longueur de la valeur de la
variable d'environnement ajoutée au décalage ou à la longueur donné.
%PATH:~-10%
extrait les 10 derniers caractères de la variable PATH.
%PATH:~0,-2%
extrait tous les caractères sauf les deux derniers de la variable PATH.
Enfin, la prise en charge de l'expansion retardée de variables d'environnement
a été ajoutée. Cette prise en charge est toujours désactivée par défaut, mais
peut être activée/désactivée via l'option de ligne de commande /V dans CMD.EXE.
Voir CMD /?
La prise en charge de l'expansion retardée de variables d'environnement est
utile pour contourner les limites de l'expansion en cours qui se produit à la
lecture d'une ligne de texte et non à son exécution. L'exemple suivant montre
le problème causé par l'expansion immédiate de variables :
set VAR=avant
if "%VAR%" == "avant" (
set VAR=après
if "%VAR%" == "après" @echo Cela marche si vous lisez ce message
)
n'affichera jamais le message car la variable %VAR% présente dans les deux
instances de IF est remplacée à la lecture de la première instance de IF, étant
donné que le corps de IF, instruction composée, est logiquement inclus. Donc le
IF compris dans l'instance compare "avant" avec "après" et il n'y aura jamais
égalité. De même, l'exemple suivant ne fonctionnera pas comme prévu :
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
car la liste des fichiers du répertoire ne sera PAS créée, et en fait la
variable LIST prendra le valeur du dernier fichier trouvé. Une fois encore
cela est dû au fait que %LIST% n'est étendu qu'une fois, lorsque FOR est
lu et à ce stade la variable LIST est vide. Donc la boucle FOR exécutée est :
for %i in (*) do set LIST= %i
qui donne toujours à LIST la valeur du dernier fichier trouvé.
L'expansion retardée de variables d'environnement vous permet d'utiliser un
autre caractère (le point d'exclamation) afin d'étendre les variables
d'environnement durant l'exécution. Si l'expansion retardée de variables est
activée, les exemples ci-dessus peuvent être écrits comme suit afin de
fonctionner comme vous le souhaitez :
set VAR=avant
if "%VAR%" == "avant" (
set VAR=après
if "!VAR!" == "après" @echo Cela marche si vous lisez ce message
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
Si les extensions de commandes sont activées, alors plusieurs variables
d'environnement dynamiques peuvent être développées sans apparaître dans la
liste de variables affichée par SET. Les valeurs de ces variables sont
calculées dynamiquement chaque fois que la variable est développée. Si
l'utilisateur définit explicitement une variable avec un de ces noms, alors
cette définition écrase la définition dynamique décrite ci-dessous :
%CD% - se développe en la chaîne du répertoire en cours.
%DATE% - se développe en la date actuelle en utilisant le même
format que la commande DATE.
%TIME% - se développe en l'heure en cours en utilisant le même
format que la commande TIME.
%RANDOM% - se développe en un nombre aléatoire compris entre 0 et 32767.
%ERRORLEVEL% - se développe en la valeur en cours de ERRORLEVEL
%CMDEXTVERSION% - se développe en le numéro de version des
extensions du processeur de commande en cours.
%CMDCMDLINE% - se développe en la ligne de commande originale
qui a appelé le processeur de commande.
Informations importantes, conseils pour la commande "SET"
Lors de l'utilisation du
`SET`dans l'invite de commande Windows, il y a quelques aspects importants à noter :
1.
Remplacement des variables d'environnement : Si vous disposez d'une variable d'environnement avec
`SET`Si vous créez une variable d'environnement en utilisant le même nom qu'une variable d'environnement existante, la variable existante sera écrasée. Assurez-vous que vous avez l’intention de le faire pour éviter les effets indésirables.
SET EXISTANT_VARIABLE=Nouvelle valeur
2.
Espaces dans les valeurs : Lors de la définition de valeurs avec des espaces dans les variables d'environnement, il est conseillé de mettre la valeur entre guillemets doubles. Cela permet d’éviter les problèmes d’espaces d’interprétation.
SET VARIABLE_AVEC_ESPACE="Valeur avec des espaces"
3.
Afficher toutes les variables d'environnement : Entrez simplement
`SET`sans variable spécifique affiche toutes les variables d'environnement et leurs valeurs. Cela peut être utile pour garantir que vos modifications ont été apportées comme prévu.
SET
4.
Définition des variables d'environnement dans les scripts batch : Si vous définissez des variables d'environnement dans un script batch, vous devez noter que la variable sera accessible plus tard dans le script.
`%Variable%`il suit.
SET NOUVEAU_VARIABLE=Contenu
ECHO %NOUVEAU_VARIABLE%
5.
Entrée utilisateur avec`SET /P`: Si tu
`SET /P`pour la saisie de l'utilisateur, assurez-vous d'inviter clairement l'utilisateur et de fournir des instructions claires pour éviter toute confusion.
SET /P ENTRÉE UTILISATEUR=Entrez quelque chose:
6.
Sensibilité à la casse : Notez que les variables d'environnement ne sont généralement pas sensibles à la casse. Cela signifie que
`%Variable%`et
`%variable%`accéder au même.
Ces conseils devraient garantir que vous
`SET`-Utilisez les commandes de manière efficace et sûre.