我在我的变量中插入一个变量字符串PATH
。我以下列方式设置变量:
$var="MyTestPath"
$mypath=[environment]::GetEnvironmentVariable("PATH",[system.environmentvariabletarget]::User)
[environment]::SetEnvironmentVariable("TEST",$var,[system.environmentvariabletarget]::User)
[environment]::SetEnvironmentVariable("PATH",$mypath+";%TEST%",[system.environmentvariabletarget]::User)
上面的代码对我不起作用。%TEST%
当我检查新 shell 中的路径时,变量不会自行扩展。它显示以 结尾的新路径%TEST%
。当我从 GUI 或 Windows shell 提示符设置它时,这一直有效。当从 PowerShell 设置变量时,为什么这种行为会有所不同?PowerShell 中是否删除了此功能?
我不想执行以下操作,因为每次运行脚本时它都会不断将我的变量添加到路径中。
[environment]::SetEnvironmentVariable("PATH",$mypath+";"+$var,[system.environmentvariabletarget]::User)