Como definir o ambiente PATH global em um arquivo em lotes?


11

A política de grupo em nosso ambiente substitui a variável PATH toda vez que faço logon e, ao executar um computador 'não padrão', ela fica completamente errada (C: \ Windows vs C: \ WINNT, faltando diretórios etc.). Atualmente, eu altero manualmente toda vez que faço logon, mas isso está começando a ficar cansativo.

Se eu usar o comando SET para alterar a variável PATH em um arquivo em lotes, ele só terá escopo local, portanto, a alteração se aplicará apenas aos comandos no arquivo em lotes.

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

Esse arquivo em lotes exibirá o novo caminho, mas se eu for executado set PATHna linha de comando posteriormente, ainda será o caminho original.

Como definir o ambiente PATH global em um arquivo em lotes? Ou existe outra técnica que eu possa usar?

Respostas:


10

Você pode usar o comando setx :

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

O Setx está disponível no Windows 2003 e posterior, mas pode ser baixado nas Ferramentas de Suporte do Windows XP.


0

Isso é editado nas preferências do sistema -> [Variáveis ​​de ambiente]. Lá você adiciona caminhos para $ PATH


É o que estou fazendo no momento, sempre que faço logon. Quero fazer isso em um arquivo em lotes para que possa ser feito automaticamente.
25710 TallGuy

0

Para definir seu caminho no registro para que ele se propague, você pode criar um script do PowerShell que use alguma variação disso:

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

Mas quando eu tentei agora, olhei para Propriedades do sistema> Variáveis ​​de ambiente, não apenas adicionei o caminho do meu teste, como também duplicou o caminho existente. Portanto, esse problema precisa ser resolvido.

Com base nesta página .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.