Descobri que a definição da variável de ambiente PATH afeta apenas o prompt de comando antigo. PowerShell parece ter diferentes configurações de ambiente. Como posso alterar as variáveis de ambiente para o PowerShell (v1)?
Nota:
Eu quero fazer minhas mudanças permanentes, então eu não'não tenho que configurá-lo toda vez que eu executar o PowerShell. O PowerShell tem um ficheiro de perfil? Algo como o perfil Bash no Unix?
A alteração das variáveis de ambiente reais pode ser feita por
utilizando a informação env: namespace / drive
. Por exemplo, este
irá atualizar a variável de ambiente do caminho:
$env:Path = "SomeRandomPath"; (replaces existing path)
$env:Path += ";SomeRandomPath" (appends to existing path)
Existem formas de tornar os ambientes permanentes, mas
se você estiver usando-as apenas do PowerShell, ele's provavelmente
muito melhor para usar seu perfil para iniciar o
configurações. Na inicialização, o PowerShell irá executar qualquer .ps1
que encontra no directório WindowsPowerShell
em
A pasta Meus Documentos. Tipicamente você tem um arquivo profile.ps1
já lá está. O caminho no meu computador é
C:\Users\JaredPar\Documents\WindowsPowerShell\profile.ps1
Você também pode modificar as variáveis de usuário/sistema permanentemente (ou seja, será persistente ao longo dos reinícios da shell) com o seguinte:
Modificar uma variável de ambiente do sistema
[Environment]::SetEnvironmentVariable
("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)
Modificar uma variável de ambiente do usuário
[Environment]::SetEnvironmentVariable
("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)
Utilização dos comentários - adicionar à variável de ambiente do sistema
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\bin",
[EnvironmentVariableTarget]::Machine)
A solução baseada em strings também é possível se você não't quiser escrever tipos
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", "Machine")