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

Windows 如何在powershell上的同一会话上(立即)更新环境变量?,windows,powershell,environment-variables,Windows,Powershell,Environment Variables,我想在powershell上编写一些脚本,它涉及在windows上使用环境变量 下面是脚本的示例 test.ps1 setX number 456 echo $env:number 我发现$env:number无法在powershell提示符的同一会话中立即更新。我需要重新打开powershell提示符。但是,这会破坏我的脚本 如何立即更新env变量?在linux中,使用EXPORT命令很容易,但对于windows,这是一种危险…您尝试过吗 [environment]::setenvironm

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

下面是脚本的示例

test.ps1

setX number 456
echo $env:number
我发现$env:number无法在powershell提示符的同一会话中立即更新。我需要重新打开powershell提示符。但是,这会破坏我的脚本 如何立即更新env变量?在linux中,使用EXPORT命令很容易,但对于windows,这是一种危险…

您尝试过吗

[environment]::setenvironmentvariable() 
你试过了吗

[environment]::setenvironmentvariable() 

PowerSell中的环境变量可通过提供程序获得。
提供者
是一种操作所有类型树容器的方法。看看:

Get-PSProvider
然后,驱动器是使用这些提供程序的实体。看看

Get-PSDrive
您可以看到它存在一个名为
env

您可以尝试:

Get-childItem env:
要设置环境变量,可以编写:

$env:mavar=“TESTJPB”

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

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

请参阅Microsoft文章。

在PowerSell环境中,可通过提供商获取变量。
提供者
是一种操作所有类型树容器的方法。看看:

Get-PSProvider
然后,驱动器是使用这些提供程序的实体。看看

Get-PSDrive
您可以看到它存在一个名为
env

您可以尝试:

Get-childItem env:
要设置环境变量,可以编写:

$env:mavar=“TESTJPB”

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

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

看看微软的文章。

在我设置了[Environment]:SetEnvironmentVariable(“mavar”、“TESTJPB”、“User”)之后,它不会在同一powershell的同一会话上生效。它仅在创建新powershell时生效。如何避免?
$env:mavar
=“TESTJPB”将其更改为本地PowerShell。设置[Environment]::SetEnvironmentVariable(“mavar”、“TESTJPB”、“User”)后,它不会在同一PowerShell的同一会话上生效。它仅在创建新powershell时生效。如何避免?
$env:mavar
=“TESTJPB”将其更改为本地PowerShell。