在调用下面的GetPathToCmd
时,我还希望powerShell
考虑一些特殊的目录-c:\scripts
(作为参数传递)。有没有一种方法可以将该目录仅添加到powerShell
的{{1}}(即PATH
)中,而不更改整个运行过程的路径变量?
$env:Path
答案 0 :(得分:0)
您可以更改$ env:Path。但是,当您执行以下操作时...
# Modify current environment path for this session
$Env:Path = "$Env:Path;SomeNewFolderPath"
...然后$ Env:Path更改在会话的整个生命周期中都存在。当您开始新的会话时,它消失了。
但是,您可以即时执行此操作,确保您不会以这种方式破坏原始路径
# Capture the current path
$CurrentPath = $Env:Path
C:\Program Files\Microsoft MPI\Bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;...
# Modify current environment path before entering the code segment
$Env:Path = "$Env:Path;SomeNewFolderPath"
$Env:Path
C:\Program Files\Microsoft MPI\Bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;...;SomeNewFolderPath
# Modify current environment path after leaving the code segment
$Env:Path = $CurrentPath
$Env:Path
C:\Program Files\Microsoft MPI\Bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;...