Je dois définir des variables d'environnement sur différentes machines Windows, mais je ne veux pas être dérangé de les changer manuellement en accédant à l'écran des propriétés de "Poste de travail"
Je veux le faire à partir de la ligne de commande, avec un fichier batch. Pour autant que je sache, l'utilisation de set ne changera que la variable des processus que j'appellerai dans la fenêtre de commande.
Je veux le définir définitivement, donc plus tard, lors de l'exécution d'un nouveau processus, il utilisera les nouveaux paramètres que j'ai définis. Existe-t-il un moyen de le faire à partir de la ligne de commande?
Réponses:
Utilisez la commande SETX (notez le suffixe «x») pour définir les variables qui persistent après la fermeture de la fenêtre cmd.
Par exemple, pour définir une var d'environnement "foo" avec la valeur "bar":
Bien que cela vaut la peine de lire les `` notes '' qui s'affichent si vous imprimez l'utilisation (
setx /?
), en particulier:Dans PowerShell, la commande [Environment] :: SetEnvironmentVariable .
la source
[Environment]::SetEnvironmentVariable('PATH', "Whatever you need it to be", "Machine")
, voir msdn.microsoft.com/en-us/library/96xafkes(v=vs.110).aspxLa documentation MSDN pour les variables d'environnement vous indique ce qu'il faut faire:
Vous aurez bien sûr besoin des droits d'administrateur pour ce faire. Je ne connais aucun moyen de diffuser un message Windows à partir d'un lot Windows, vous devrez donc écrire un petit programme pour ce faire.
la source
setx
par ci-dessous?la source
setx
(et sans possibilité de l'installer). Utilisation simple (dans mon cas):wsh.Environment("user").Item("myVar") = "my value"
En effet, SET TEST_VARIABLE = value fonctionne uniquement pour le processus en cours, il
SETX
est donc obligatoire. Un exemple rapide de stockage permanent d'une variable d'environnement au niveau de l'utilisateur.SETX TEST_VARIABLE etc
. Pas encore appliqué (echo %TEST_VARIABLE%
montre%TEST_VARIABLE%
,echo %TEST_VARIABLE%
afficheetc
.etc
.la source
la source