Windows: Como eu adiciono um programa à variável ambiental do caminho do sistema a partir da linha de comando?

6

Eu estou olhando para adicionar permanentemente um diretório para o %PATH% ambiental disponível em um grande número de máquinas Windows. Existe alguma maneira de fazer isso a partir de uma linha de comando ( cmd ) para que eu possa criar uma solução, em vez de ter que usar a GUI em dezenas de servidores.

Como posso fazer isso?

    
por HopelessN00b 10.01.2013 / 19:49

3 respostas

11

De longe, a maneira mais fácil de fazer isso é através do uso do comando setx , que é incluído no Windows 7 / Server 2008 e superior, ou como parte do Windows Server 2003 Resource Kit para sistemas XP e Server 2003.

Você pode usar o comando setx para especificar um conjunto totalmente novo de diretórios na variável %PATH% ou acrescentar um valor usando uma pequena lógica extra. Digamos que eu queira adicionar o diretório em C:\stuff ao %PATH% . Eu faria como abaixo:

setx PATH "%PATH%,C:\stuff" /M

Isso anexa ,C:\stuff ao caminho atual sobrescrevendo o caminho existente com seu valor atual, seguido por ,C:\stuff . A variável ambiental do caminho é delimitada por vírgulas. A opção /M faz a alteração na seção do Registro HKLM (todo o sistema), em vez da seção do registro HKCU (o usuário atual).

Você poderia lançá-lo em um script de logon / inicialização ou usar a opção /s para especificar um servidor remoto como o destino e fazer as alterações em sua estação de trabalho. Por exemplo, o item a seguir adicionaria o diretório stuff ao caminho em myserver.mydomain.com, com as credenciais do usuário mydomainadmin .

setx /s myserver.mydomain.com /u mydomain\mydomainadmin /p mypassword PATH "%PATH%,C:\stuff" /M

As qualificações usuais se aplicam, principalmente que alterar uma variável ambiental global afetará apenas as sessões de usuário no próximo logon e só se aplicará aos aplicativos na próxima verificação, que geralmente é na inicialização, então a maneira mais fácil de fazer isso aplicar a tudo é reinicializar o servidor, mas se você souber especificamente quais usuários ou serviços precisam da alteração, poderá tomar medidas menos prejudiciais para que a alteração seja aplicada.

    
por 10.01.2013 / 19:49
4

De longe, a maneira mais fácil de fazer isso é através do uso de Extensões do lado de cliente de preferências de política de grupo , (GPP) que está incluído no Windows 7 / Server 2008 e acima, ou como parte de uma atualização para sistemas XP e Server 2003.

Você pode usar as configurações de GPP para especificar um conjunto totalmente novo de diretórios na variável %PATH% , um "Substituir" ou acrescentar um valor usando o "Criar" Item de preferência de ação . Digamos que eu queira adicionar o diretório em C:\scripts ao %PATH% . Eu faria como abaixo:

Isso acrescenta C:\scripts ao atual %PATH% . A variável ambiental do caminho é delimitada por ponto-e-vírgula. Usando a seção Configuração do computador do GPO faz a alteração na seção do Registro HKLM (todo o sistema), em vez da seção do Registro HKCU (o usuário atual).

Vocêpodelançá-loemumGPOexistenteouusarumGPOseparadoparasegmentarestaçõesdetrabalho/usuáriosespecíficos.Porexemplo,oabaixoiriaadicionarodiretóriodescriptsparaocaminhosomentenocomputadorISC-JSCOTT.

As qualificações usuais se aplicam. A alteração de uma variável de ambiente do sistema só terá efeito na inicialização, portanto, a maneira mais fácil de fazer isso se aplicar a tudo é reinicializar.

    
por 10.01.2013 / 20:58
1

A ajuda para o caminho dá a resposta. Y: > caminho /? Exibe ou define um caminho de pesquisa para arquivos executáveis.

PATH [[drive:] caminho [; ...] [;% PATH%] PATH;

Digite PATH; para limpar todas as configurações do caminho de pesquisa e direcionar cmd.exe para pesquisa somente no diretório atual. Digite PATH sem parâmetros para exibir o caminho atual. Incluindo% PATH% na nova configuração de caminho faz com que o caminho antigo seja acrescentado à nova configuração.

Para adicionar c: \ stuff à variável de caminho que você executa:

caminho c: \ stuff;% path%

    
por 06.03.2017 / 09:07