Comment définir l'environnement global PATH dans un fichier batch?

11

La stratégie de groupe dans notre environnement écrase la variable PATH chaque fois que je me connecte et, lorsque j'exécute un ordinateur `` non standard '', elle se trompe complètement (C: \ Windows vs C: \ WINNT, répertoires manquants, etc.). Actuellement, je le modifie manuellement chaque fois que je me connecte, mais cela commence à devenir ennuyeux.

Si j'utilise la commande SET pour modifier la variable PATH dans un fichier de commandes, elle n'a qu'une portée locale, donc la modification ne s'applique qu'aux commandes du fichier de commandes.

set PATH=C:\WINNT;C:\WINNT\System32
set PATH

Ce fichier de commandes affichera le nouveau chemin, mais si je lance ensuite set PATHsur la ligne de commande, ce sera toujours le chemin d'origine.

Comment définir l' environnement global PATH dans un fichier batch? Ou existe-t-il une autre technique que je peux utiliser?

Grand gars
la source

Réponses:

10

Vous pouvez utiliser la commande setx :

setx PATH C:\WINNT;C:\WINNT\System32 /m

Setx est disponible dans Windows 2003 et versions ultérieures, mais peut être téléchargé dans les outils de support pour Windows XP.

Phil Ross
la source
0

Ceci est édité dans les préférences système -> [Variables d'environnement]. Là, vous ajoutez des chemins à $ PATH

kolypto
la source
C'est ce que je fais en ce moment, chaque fois que je me connecte. Je veux le faire dans un fichier batch afin que cela puisse être fait automatiquement.
TallGuy
0

Pour définir votre chemin dans le registre afin qu'il se propage à, vous pouvez créer un script PowerShell qui utilise une variante de ceci:

[System.Environment]::SetEnvironmentVariable("PATH", $Env:Path + ";newpart", "user")

Mais quand je l'ai essayé tout à l'heure, j'ai regardé Propriétés système> Variables d'environnement, non seulement j'ai ajouté mon chemin de test, mais il a doublé celui existant. Il faut donc régler ce problème.

Basé sur cette page .

En pause jusqu'à nouvel ordre.
la source