Procura e substitui o valor da variável de ambiente via arquivo batch?

0

Eu quero criar um arquivo de lote para alternar rapidamente uma variável PATH para poder trabalhar em um ambiente diferente e, em seguida, outro para restaurá-lo. Eu suponho que isso seria feito via setx e alguma forma de pesquisa e substituição, no entanto, eu não sei nada sobre arquivos em lote.

    
por Miguel Bartelsman 05.08.2018 / 22:39

1 resposta

2

Embora isso não esteja respondendo diretamente à sua pergunta, ela resolve o problema e, por esse motivo, eu achei esse valor de uma resposta, em vez de um comentário.

A variável ambiental PATH pode armazenar vários caminhos. A ordem dos caminhos a serem pesquisados é da esquerda para a direita. Isso significa efetivamente que, se você adicionar um caminho ao início da variável ambiental PATH, ele será pesquisado primeiro.

Isso elimina a necessidade de substituir um caminho existente, a menos que você precise garantir que o outro caminho seja removido, o que esta solução não fará.

Para adicionar uma pasta ao início do ambiente PATH, use o seguinte código:

set PATH=c:\myfolder;%PATH%

O% PATH% é necessário para estar lá, caso contrário, você limpará o caminho definido e o substituirá totalmente apenas com sua própria pasta.

Dado que o comando set foi usado, isso armazenará apenas o caminho da sua sessão atual. Para transferir o caminho para o Ambiente Windows, para que seja lembrado em cada sessão, você precisa executar o seguinte comando:

setx PATH "%PATH%"

Dado que você deseja usá-lo para restaurá-lo mais tarde, aconselho criar dois arquivos em lote para iniciar o caminho para o qual você deseja usar o caminho diferente e, no que usa o caminho alternativo, começar com o comando SET, e para aquele que usa o real, você não faz.

Dessa forma, para cada vez que você executa o arquivo em lote para o caminho alternativo, esse caminho é adicionado e pesquisado primeiro, portanto, ele o encontra.

Por último, é possível definir o PATH com base em outras variáveis ambientais, o que permite alternar.

Primeiro, você precisa criar duas cópias do caminho original:

setx PATH_orig "%PATH%"
setx PATH_alt "%PATH%"

Agora edite o PATH_alt da maneira que você normalmente editaria o PATH.

Agora você pode simplesmente mudar usando os seguintes comandos:

:: Restore to original
setx PATH "PATH_orig"

:: Set alternate path
setx PATH "PATH_alt"
    
por 05.08.2018 / 22:49