繁体   English   中英

如何在Powershell的同一会话上(立即)更新环境变量?

[英]How to update environment variable on the same session (immediately) on powershell?

我想在Powershell上编写一些脚本,它涉及在Windows上使用环境变量

这是脚本的示例

test.ps1

setX number 456
echo $env:number

我发现$ env:number不能在Powershell提示符的同一会话上立即更新。 我需要重新打开Powershell提示。 但是,这会破坏我的脚本。如何立即更新环境变量? 在Linux中,使用EXPORT命令很容易,但是对于Windows,则存在危险...

在PowerSell中,环境变量可通过提供程序获得。 provider是一种操纵所有树形容器的方法。 看一下 :

Get-PSProvider

然后,驱动器就是使用这些提供程序的实体。 看一下

Get-PSDrive

您可以看到它存在一个名为env的驱动器

你可以试试 :

Get-childItem env:

设置环境变量,您可以编写:

$ env:mavar =“ TESTJPB”

若要创建更多永久性环境变量(即,用户级别或机器级别),您需要使用.NET Framework和SetEnvironmentVariable方法。 例如,此命令创建一个名为TestVariable的用户级环境变量:

[Environment]::SetEnvironmentVariable("mavar", "TESTJPB", "User")

看看这篇微软文章。

你有没有尝试过

[environment]::setenvironmentvariable() 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM