Eu tenho uma pergunta que alguém certamente deve ter se deparado, mas talvez eu não esteja usando os termos de pesquisa corretos. Desejo redefinir a variável PATH em um prompt de comando para o padrão. Então, por exemplo, eu abro um prompt
set PATH=C:\someting\bin;%PATH%
REM do something
set PATH=<original when window was opened>
REM do something else
Duas soluções que vejo:
1. Essa falta de jeito
set ORIPATH=%PATH%
set PATH=C:\someting\bin;%PATH%
REM do something
set PATH=%ORIPATH%
REM do something else
2. Separe cmds
cmd.exe /k
set PATH=C:\someting\bin;%PATH%
REM do something
exit
cmd.exe/k
set PATH=C:\someting_else\bin;%PATH%
REM do something else
exit
Isso parece ter a desvantagem distinta de que outras configurações de ambiente se perdem.
Existe uma maneira melhor e, em caso afirmativo, qual?
Desde já, obrigado!
Versões recentes do prompt de comando no Windows permitem que você mantenha cópias locais do ambiente com escopo limitado; os escopos são sinalizados usando os comandos
SETLOCAL
e .ENDLOCAL
Colocando entre colchetes um bloco de código em um arquivo em lote com esses comandos, você garante que quaisquer alterações feitas no ambiente (a menos que você useSET /M
) serão não persistentes e serão revertidas quando o escopo for encerrado: