Question Définir et obtenir des variables d'environnement Windows à partir de l'invite de commande?


Je veux définir une variable d'environnement à partir de l'invite de commande et pouvoir y accéder globalement (par exemple, je devrais la voir en allant dans Système -> Variables d'environnement).

Lorsque j'utilise la commande set, celle-ci n'est pas accessible dans une nouvelle session de cmd.

set NEWVAR=SOMETHING
echo %NEWVAR%

Questions connexes:


182
2017-12-06 21:52


origine


valeur de la variable setx - puis redémarrer l'invite de commande - Andrew


Réponses:


Pour que la variable d'environnement soit accessible globalement, vous devez la définir dans le registre. Comme vous l'avez réalisé en utilisant simplement:

set NEWVAR = QUELQUE CHOSE

vous ne faites que le définir dans l'espace de traitement actuel.

Selon cette page vous pouvez utiliser le setx commander:

setx NEWVAR QUELQUE CHOSE

setx est intégré à Windows 7, mais pour les anciennes versions ne sera disponible que si vous installez le Kit de ressources Windows


197
2017-12-06 21:58



Il se trouve que setx est également intégré à Windows 7. - Shane
Notez que vous devez spécifier un quota, par exemple: setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_45" marchera. Mais setx JAVA_HOME C:\Program Files\Java\jdk1.7.0_45vous donnera des erreurs de syntaxe - MD. Mohiuddin Ahmed
@ MD.MohiuddinAhmed C'est parce qu'il y a des espaces dans le chemin. - ChrisF
Oops! Je n'ai pas remarqué ça! ... Encore un bon point à noter :) Merci @ChrisF! - MD. Mohiuddin Ahmed
c'est un devis, pas un quota - phuclv


Nous pouvons également utiliser "setx var variable / M" pour définir le var sur le niveau de la variable d'environnement système au lieu du niveau utilisateur.

Remarque: cette commande doit être exécutée en tant qu'administrateur.


29
2017-08-26 10:37





setx program "C:\Program Files" /M

/ M pour définir le niveau de la variable d'environnement système au lieu du niveau utilisateur comme la réponse de @Minh Chau

Tester enter image description here

REDÉMARRER ligne de commande (si vous ne redémarrez pas la ligne de commande, la variable d'environnement ne fonctionnera pas)

enter image description here


7
2018-02-08 14:54



Cela duplique une autre réponse et n'ajoute aucun nouveau contenu. S'il vous plaît ne pas poster une réponse à moins que vous ayez réellement quelque chose de nouveau à contribuer. - DavidPostill♦
@DavidPostill Ma réponse a une nouvelle est que nous avons besoin de redémarrer la ligne de commande. Je pense que c'est important - Phan Van Linh


Les variables système peuvent être définies via CMD et le registre Pour ex. rég reg "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Gestionnaire de sessions \ Environnement" / v PATH

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

Ouvrez CMD et tapez Ensemble

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

Type mettre java pour connaître les détails du chemin d'accès de java installé sur votre système d'exploitation Windows.


1
2018-03-09 05:06



Veuillez relire la question avec attention. Votre réponse fait ne pas répondez à la question initiale. - DavidPostill♦
C'est proche, cependant. Utiliser REG ADD peut accomplir cela? - TOOGAM


Vieux fil sur lequel je suis tombé sur,

Comme mentionné dans @ChrisF répondre que vous pouvez définir la variable en utilisant set ou setx commander.

Et pour récupérer les valeurs que vous pouvez utiliser

>set variable_name

Et vous pouvez vider toutes les variables d'environnement avec des valeurs en utilisant la commande set comme celle-ci sans donner aucun paramètre.

>set

Et pour supprimer la variable que nous pouvons utiliser

>set variable_name=

En ne donnant aucune valeur, nous pouvons supprimer la variable de l'espace actuel.


1
2018-01-30 06:04



Ça devrait être set variable_name= (attention aux espaces après les noms de variables). - DavidPostill♦


Je veux ajouter que si vous utilisez le paramètre / s avec setx afin de définir des variables d’environnement sur un ordinateur distant, le service "Registre distant" doit être exécuté sur la machine cible, sinon vous recevrez une "ERREUR: La l'opération spécifiée n'a pas pu être terminée. "

(J'ai demandé à Microsoft de mettre à jour leur Article TechNet sur setx d'inclure cette information.)


0
2018-05-18 19:35