Empêcher le système Windows% PATH% d'être remplacé par l'utilisateur% PATH?

Je sais comment définir des variables d'environnement système ou utilisateur spécifiques:

Variables d'environnement Windows

Maintenant, le problème est que la variable PATH est traitée de sorte que la valeur que vous entrez pour l'utilisateur PATH sera automatiquement ajoutée au système PATH et ce sera la variable PATH effective.

C'est à dire que j'ai

(SYSTEM) PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...

Et (USER) PATH=C:\Program Files\Bar\bin (notez qu'il n'y a pas %PATH% dans cette valeur)

Alors la variable d'environnement résultante pour cet utilisateur sera:

(Effectif) PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...;C:\Program Files\Bar\bin

Cependant, j'aimerais plutôt que pour un compte d'utilisateur OS très spécifique, la variable d'environnement PATH devrait avoir le répertoire bar\bin au début du PATH plutôt qu'à la fin.

Existe-t-il un bon moyen de dire à Windows d'annuler complètement la variable PATH d'un utilisateur avec la valeur pour cet utilisateur au lieu de l'ajouter à la variable PATH du système?

Remarque: Évidemment, à partir d'un fichier batch, tout cela n'a pas d'importance car vous pouvez définir et modifier les env.vars comme vous le souhaitez.

J'ai eu le même problème et cela a fonctionné pour moi:

Vous pouvez obtenir "variable de chemin d'utilisateur" via:

 >reg query HKCU\Environment /v path 

La sortie (sur ma machine) est:

 HKEY_CURRENT_USER\Environment path REG_SZ C:\Program Files (x86)\GnuWin32\bin 

Mais alors, vous devez analyser ceci et utiliser la partie pertinente.

J'ai lu la solution ici ici et testé sur ma machine.

Si vous avez besoin que cela fonctionne pour les sessions d'invite de commande, créez un fichier batch profile / init et configurez-le dans le registre, par https://stackoverflow.com/questions/17404165/how-to-run-a-command-on -command-prompt-startup-in-windows . Par exemple,

 reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun ^ /t REG_EXPAND_SZ /d "%"USERPROFILE"%\init.cmd" /f 

Ensuite, il suffit d'apporter des modifications au PATH dans ce fichier de commandes. Par exemple,

 SET USER_PATH=c:\whatever SET PATH=%USER_PATH%;%PATH%