Powershell暂时添加到路径中

Sim*_*rdo 9 powershell

我正在尝试编写一个简单的PowerShell脚本来部署Visual Studio ASPNET Core 1项目.

目前,我可以说在批处理文件中

Path=.\node_modules\.bin;%AppData%\npm;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git
Run Code Online (Sandbox Code Playgroud)

这会在会话期间修改路径变量...对于我的生活,我无法弄清楚如何在powershell中做这个简单的事情.

有人可以帮我翻译成powershell吗?

TIA!

Bil*_*art 15

使用$Env:Path变量.

$Env:Path += ";C:\New directory 1;C:\New directory 2"
Run Code Online (Sandbox Code Playgroud)

这将Path使用您指定的字符串覆盖变量.如果要添加到路径,则可以编写=而不是仅编写+=.

  • 如果使用+ =添加到现有路径,请确保在添加路径之前添加分号。EG $ Env:Path + =“; C:\ New目录1; C:\ New目录2” (4认同)
  • 有时您首先需要新的路径信息 - 在这种情况下您不能使用 += ex。$Env.Path = "C:\新目录;" + $Env.Path (2认同)

Bac*_*its 6

您可以只使用$env:Path,但如果您担心这不够明确,您可以使用System.Environment.SetEnvironmentVariable():

[System.Environment]::SetEnvironmentVariable('Path',$Value,[System.EnvironmentVariableTarget]::Process);
Run Code Online (Sandbox Code Playgroud)

GetEnvironmentVariable() 可以显式检索:

[System.Environment]::GetEnvironmentVariable('Path',[System.EnvironmentVariableTarget]::Process);
[System.Environment]::GetEnvironmentVariable('Path',[System.EnvironmentVariableTarget]::Machine);
[System.Environment]::GetEnvironmentVariable('Path',[System.EnvironmentVariableTarget]::User);
Run Code Online (Sandbox Code Playgroud)