簡體   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