web-dev-qa-db-fra.com

Définir une variable d’environnement système à partir d’un fichier de commandes 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 de XP d'ailleurs). Je cours à partir d'une invite de commande élevée.

Lorsque j'utilise la commande set (set name=value), la variable d'environnement semble n'être valide que pour la session de la commande Invite.

180
Santhosh

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 livré avec setx dans le cadre d’une installation standard.

168
Hugh Allen

Exemple simple expliquant comment définir Java_HOME avec setx.exe dans la ligne de commande:

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

Cela définira la variable d'environnement "Java_HOME" pour l'utilisateur actuel. 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 la commande setx à partir d'un fenêtre Admin de ligne de commande

128

Si vous définissez une variable via SETX, vous ne pouvez pas utiliser cette variable ou ses modifications immédiates. Vous devez redémarrer les processus qui veulent l'utiliser.

tilisez la séquence suivante pour le définir directement dans le processus de configuration également (fonctionne parfaitement pour les scripts qui exécutent des tâches initiales après la définition de variables globales) :

SET XYZ=test
SETX XYZ test
18
Anton F.

Pour XP, j'ai utilisé un outil (gratuit/donateware) appelé "RAPIDEE" (Rapid Environment Editor), mais SETX est définitivement suffisant pour Win 7 (je ne le savais pas auparavant).

2
FractalSpace

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

1
abort

Les variables système peuvent être définies via CMD et le registre. Par exemple. requête "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Gestionnaire de sessions\Environment"/v PATH

Tous les codes CMD et variables système couramment utilisés sont donnés ici: Définir les variables d’environnement système Windows à l’aide de CMD .

Ouvrez CMD et tapez Set

Vous obtiendrez toutes les valeurs de la variable système.

Tapez définir Java pour connaître les détails du chemin d'accès de Java installé sur votre système d'exploitation Windows.

1
Himanshu Singh