我创建了一个用户环境变量testPurpose
:
如果我这样称呼我的脚本,则不会显示它:
$env:testPurpose
或者如果我这样尝试
$x = "testPurpose"
(get-item env:$x).Value
我收到此错误:
get-item:找不到路径“ Env:\ testPurpose”,因为它不存在。
使用gci env:* | sort-object name
,我可以肯定地看到它已经创建
那我为什么不能找回它?如果我尝试这样做:
$env:ProgramData
我找回打印好的程序数据位置!
所以我很肯定这不是命令问题
答案 0 :(得分:2)
尝试重新启动PowerShell会话。
环境变量仅在会话开始时加载,或在会话上下文中运行。
答案 1 :(得分:1)
您可能已经在运行的进程中创建了它们,它们仅可用于该会话。关闭该PS窗口后,它们也会消失。尝试将其设置为机器范围的变量,该变量应保持不变。
注意:我不确定为什么要创建这些变量,而不是仅仅在脚本中创建变量,而是每个变量都有。
[Environment]::SetEnvironmentVariable("testPurpose", "TESTING", "Machine")
(Get-Item "env:testPurpose").Value
$testPurpose = "testPurpose"
(Get-Item env:$testPurpose).Value