Windows系统和PowerShell的环境变量之间有什么区别?

Windows系统和PowerShell的环境变量之间有什么区别?,windows,powershell,environment-variables,Windows,Powershell,Environment Variables,我们通过系统>高级系统设置>环境变量>路径>编辑设置Windows系统路径变量 我们通过Env:Path+=“Some\New\Path” 如果有的话,这两者之间有什么区别 在powershell中设置变量时,它仅在该进程(及其子进程)中设置。这相当于从cmd提示符或批处理文件中使用SET 在该对话框中,您正在为用户(或系统)设置变量,这将影响在这些上下文中生成的每个进程。这类似于从cmd提示符或批处理文件中使用SETX。在powershell中设置变量时,该变量仅在该进程(及其子进程)中设置。

我们通过系统>高级系统设置>环境变量>路径>编辑设置Windows系统路径变量

我们通过
Env:Path+=“Some\New\Path”


如果有的话,这两者之间有什么区别

在powershell中设置变量时,它仅在该进程(及其子进程)中设置。这相当于从cmd提示符或批处理文件中使用
SET


在该对话框中,您正在为用户(或系统)设置变量,这将影响在这些上下文中生成的每个进程。这类似于从cmd提示符或批处理文件中使用
SETX

在powershell中设置变量时,该变量仅在该进程(及其子进程)中设置。这相当于从cmd提示符或批处理文件中使用
SET


在该对话框中,您正在为用户(或系统)设置变量,这将影响在这些上下文中生成的每个进程。这类似于从cmd提示符或批处理文件中使用
SETX

更准确地说,它仅在特定的PowerShell进程中(及其子进程随后生成)。“会话”也可以指Windows登录会话,它不接收此环境更改。完全正确!我用更好的措辞更新了我的答案;谢谢@AnsgarWiechers。PowerShell中的SETX等价物是
[Environment]::SetEnvironmentVariable('Name'、'Value'、'Machine')
。更准确地说,它仅在特定的PowerShell进程中(及其子进程随后生成)。“会话”也可以指Windows登录会话,它不接收此环境更改。完全正确!我用更好的措辞更新了我的答案;谢谢@AnsgarWiechers。PowerShell中的SETX等价物是
[Environment]::SetEnvironmentVariable('Name','Value','Machine')