Définir une variable d'environnement système à partir d'un fichier batch Windows?

Est-il possible de définir une variable d'environnement au niveau du système à partir d'une invite de commande dans Windows 7 (ou même XP d'ailleurs). Je cours depuis une invite de commande élevée.

lorsque j'utilise la commande set ( set name=value ), la variable d'environnement semble n'être valable que pour la session de l'invite de commande.

164
demandé sur gary 2010-09-27 16:07:27

6 réponses

les outils de Support XP (qui peuvent être installés à partir de votre CD XP) sont livrés avec un programme appelé setx.exe :

C:\Program Files\Support Tools>setx /?

SETX: This program is used to set values in the environment
of the machine or currently logged on user using one of three modes.

1) Command Line Mode: setx variable value [-m]
   Optional Switches:
    -m  Set value in the Machine environment. Default is User.

...
For more information and example use: SETX -i

je pense que Windows 7 est en fait livré avec setx dans le cadre d'une installation standard.

156
répondu Hugh Allen 2010-09-27 14:49:07

exemple Simple pour définir JAVA_HOME avec setx.exe en ligne de commande:

setx JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

définit la variable D'environnement" JAVA_HOME " pour l'utilisateur courant. Si vous souhaitez définir une variable pour tous les utilisateurs, vous devez utiliser l'option "-m". Voici un exemple:

setx -m JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

Note : vous devez exécuter cette commande en tant qu'administrateur.

Note : assurez-vous d'exécuter le commande setx à partir d'une fenêtre D'administration en ligne de commande

111
répondu Mindaugas 2015-12-21 20:43:41

si vous définissez une variable via SETX, vous ne pouvez pas utiliser cette variable ou ses modifications immédiatement. Vous devez redémarrer le processus qui souhaitent l'utiliser.

utilisez la séquence suivante pour la définir directement dans le processus de paramétrage aussi (fonctionne parfaitement pour moi dans les scripts qui font quelques trucs init après avoir paramétré des variables globales) :

SET XYZ=test
SETX XYZ test
16
répondu user3696464 2016-01-13 21:36:21

pour XP, j'ai utilisé un outil (gratuit/donateware) appelé "RAPIDEE" (éditeur D'environnement rapide), mais SETX est certainement suffisant pour Win 7 (Je ne savais pas cela avant).

2
répondu FractalSpace 2013-11-08 16:01:54

juste au cas où vous auriez besoin de supprimer une variable, vous pouvez utiliser SETENV de Vincent Fatica disponible à http://barnyard.syr.edu / ~vefatica . Pas tout à fait récent ('98) mais fonctionne toujours sur Windows 7 x64.

1
répondu abort 2014-05-02 21:27:03

les variables du système peuvent être définies par CMD et registry Pour ex. requête reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" / V PATH

tous les codes CMD et variables de système couramment utilisés sont donnés ici: définir les variables d'environnement système de Windows en utilisant CMD .

Ouvrir CMD et tapez Set

, Vous obtiendrez tous les les valeurs de la variable système.

Type jeu java pour connaître l'emplacement de java installée sur la fenêtre de votre système d'exploitation.

1
répondu Himanshu Singh 2017-03-09 05:04:44