mardi, novembre 26, 2024

Comment utiliser les variables d’environnement Windows CMD

Il est facile d’ajouter ou de modifier une variable d’environnement avec l’invite de commande (CMD), mais en supprimer une est beaucoup plus compliqué. Voici quelques façons différentes de le faire.

Comment ajouter ou modifier une variable d’environnement

Tout d’abord, vous devez lancer l’invite de commande, ou CMD, en tant qu’administrateur. Cliquez sur Démarrer, tapez « cmd » dans la zone de recherche, puis cliquez sur « Exécuter en tant qu’administrateur ».

Cliquez sur "Exécuter en tant qu'administrateur."

Noter: Toute variable d’environnement utilisateur peut être définie ou modifiée dans une fenêtre d’invite de commande standard, mais la modification des variables d’environnement à l’échelle du système nécessite une invite de commande élevée.

Il existe deux manières distinctes de définir des variables d’environnement.

Définition temporaire d’une variable d’environnement

Le premier utilise la commande set. Set définit une variable d’environnement exclusivement dans le processus dans lequel elle a été définie – en d’autres termes, la variable ne fonctionne que dans la fenêtre que vous avez ouverte ou dans le script qui la contient.

Voici un exemple : supposons que vous souhaitiez créer une variable d’environnement nommée LifeAnswerVar et définir la valeur sur 42. La commande serait set LifeAnswerVar=42.

Pendant que cette fenêtre est ouverte, LifeAnswerVar aura la valeur 42.

Invite de commande avec set lifevar=42

Lorsqu’il est fermé, la variable d’environnement et sa valeur sont supprimées.

Une nouvelle fenêtre CMD avec LifeAnswerVar indéfini.

La même méthode fonctionne si vous souhaitez modifier temporairement une variable système Windows existante. Tout ce que vous avez à faire est de substituer la variable système que vous souhaitez modifier à la place de LifeAnswerVar et la valeur que vous souhaitez attribuer à la place de 42.

Par exemple, si vous vouliez déplacer le dossier TMP vers C:Example Folder, vous entreriez la commande set TMP=C:"Example Folder".

Dossier TMP déplacé vers le dossier Exemple

La première ligne, set TMP, affiche la valeur actuelle de TMP. La deuxième ligne attribue une nouvelle valeur à TMP. La troisième ligne confirme qu’il a changé.

Définition permanente d’une variable d’environnement

La deuxième méthode utilise setx. Setx définit les variables d’environnement Windows de manière permanente. Ils persistent entre les fenêtres et entre les redémarrages et sont écrits dans le registre Windows. Ces variables d’environnement peuvent être définies pour un utilisateur spécifique ou pour une utilisation à l’échelle du système.

La commande setx ExVar1 Tomato /m créera une nouvelle variable d’environnement nommée ExVar1 et lui attribuera la valeur « Tomate ». L’argument /m spécifie que la nouvelle variable doit être à l’échelle du système, pas seulement pour l’utilisateur actuel.

ExVar1 défini dans l'invite de commande

Utilisez exactement la même commande pour modifier une variable d’environnement existante, en remplaçant ExVar1 par le nom de la variable que vous souhaitez modifier.

Noter: Si vous utilisez setx pour modifier une variable et set pour afficher la valeur de la variable, set n’affichera pas la bonne valeur tant qu’une nouvelle fenêtre d’invite de commande ne sera pas ouverte.

Si vous souhaitez ajouter ou modifier une variable d’environnement utilisateur, omettez simplement l’argument /m de la commande.

Comment supprimer une variable d’environnement

Supprimer une variable d’environnement est un peu plus difficile que d’en ajouter ou de la modifier.

Noter: Comme pour l’ajout d’une variable, toute variable d’environnement utilisateur peut être supprimée dans une fenêtre d’invite de commande normale, mais la suppression d’une variable d’environnement à l’échelle du système nécessite une invite de commande élevée.

Suppression temporaire d’une variable d’environnement

Si vous souhaitez supprimer temporairement une variable d’environnement pour le processus en cours, comme un script, une fenêtre PowerShell ou une fenêtre d’invite de commande, vous pouvez utiliser la commande set. Tout ce que vous avez à faire est de n’attribuer aucune valeur à la variable.

Par exemple, que se passe-t-il si vous avez la définition de variable ExVar1=Tomato dans les variables d’environnement à l’échelle du système, mais vous vouliez l’ignorer pour un processus particulier ? Vous pouvez taper set ExVar1=   dans l’invite de commande ou incluez cette ligne dans votre script. La variable sera définie sur rien pendant l’exécution du script ou jusqu’à ce que vous ouvriez une nouvelle fenêtre d’invite de commande.

ExVar1 temporairement vide.

Suppression définitive d’une variable d’environnement

La suppression permanente d’une variable d’environnement est un peu plus complexe — vous devez utiliser reg pour le faire.

Avertissement: Reg est la version en ligne de commande de l’Éditeur du Registre. Vous devez procéder avec prudence – une faute de frappe pourrait entraîner la suppression accidentelle de quelque chose d’important. Cela ne fait jamais de mal non plus de sauvegarder la partie du registre que vous modifiez.

Les variables d’environnement des utilisateurs individuels sont stockées dans HKEY_CURRENT_USEREnvironment. Les variables d’environnement à l’échelle du système sont stockées ailleurs, dans HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment.

Utilisons le ExVar1=Tomato Exemple. La variable d’environnement ExVar1 a été définie à l’échelle du système, ce qui signifie qu’elle se trouve dans le répertoire HKEY_LOCAL_MACHINE plutôt que dans le répertoire HKEY_CURRENT_USER. Plus précisément, le chemin d’accès à la sous-clé est :

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironmentExVar1

Noter: Ce chemin contient un espace. Chaque fois qu’il y a un espace dans un chemin entré dans une interface de ligne de commande, vous devez utiliser des guillemets autour du chemin, sinon, il est extrêmement probable qu’il ne s’exécutera pas correctement.

Maintenant, nous devons utiliser le reg delete commande pour le supprimer. Gardez à l’esprit que vous devrez remplacer votre nom de variable par ExVar1 dans la commande ci-dessous.

reg delete "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment" /f /v ExVar1

Il y en a beaucoup là-bas, alors décomposons-le un peu.

  • reg delete — définit l’application (reg) et la commande (delete) que nous utilisons
  • "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment" – Indique à reg delete où chercher la clé
  • /f – Indique à reg delete de supprimer la clé sans demander de confirmation
  • /v – Indique à reg delete qu’il recevra une sous-clé spécifique à supprimer
  • ExVar1 — Le nom de la sous-clé que nous voulons supprimer

La suppression d’une variable d’environnement pour un utilisateur individuel est exactement la même que la suppression d’une variable à l’échelle du système, sauf que le chemin sera différent. Si ExVar1 était une variable d’environnement utilisateur, la commande pour la supprimer serait :

reg delete HKEY_CURRENT_USEREnvironment /f /v ExVar1

Si la commande de suppression de la variable d’environnement a réussi, vous devriez voir « L’opération s’est terminée avec succès » dans l’invite de commande.

Reg delete utilisé pour supprimer ExVar1 de la variable d'environnement utilisateur

Chaque fois que vous supprimez une variable d’environnement comme celle-ci, vous devez redémarrer explorer.exe. Vous pouvez redémarrer Explorer.exe manuellement ou vous pouvez simplement redémarrer l’ensemble de votre ordinateur. L’un ou l’autre fonctionnera et les modifications devraient prendre effet immédiatement après le redémarrage.

Source-135

- Advertisement -

Latest