簡體   English   中英

如何設置使用Powershell可以隨時訪問的環境變量?

[英]How to set environment variable can access anytime using powershell?

我有格式為12345文本文件。 我想將該值設置為環境變量,即使關閉Powershell也可以訪問它。 我的期望是,當我想從命令行訪問該環境變量時,我只使用以下命令: echo %ID% ,我將顯示12345

$file = Get-Content .\file.txt
$Variable = "ID"
[Environment]::SetEnvironmentVariable("$Variable", "$file")

更新代碼

我嘗試了這個,但是我仍然無法從命令行使用此命令獲取環境變量: echo %ID%

$file = Get-Content .\file.txt
$Variable = "ID"

[Environment]::SetEnvironmentVariable("$Variable", "$file",1)
[Environment]::SetEnvironmentVariable("$Variable", "$file","User")

[Environment]::SetEnvironmentVariable的第三個參數允許您選擇環境變量目標。 默認值為當前進程,因此使用兩個參數進行調用只會使該變量可用於當前PowerShell會話。

如果您具有權限,則可以在計算機級別(2)啟用環境變量,可以:

[Environment]::SetEnvironmentVariable("$Variable", "$file",2)
[Environment]::SetEnvironmentVariable("$Variable", "$file","Machine")

或者,僅是用戶級別(1),或者:

[Environment]::SetEnvironmentVariable("$Variable", "$file",1)
[Environment]::SetEnvironmentVariable("$Variable", "$file","User")
  • 在注冊表中,“計算機級別”為HKEY_LOCAL_MACHINE
  • “用戶級別”為HKEY_CURRENT_USER

https://docs.microsoft.com/zh-cn/dotnet/api/system.environmentvariabletarget?view=netframework-4.7.2

您需要指定目標環境。 默認情況下,該靜態方法僅為當前進程設置$ Var / value對。 您可能希望當前用戶使用該方法,因此請使用下面第一個鏈接中列出的第二種方法,並將目標設置為user 這是文檔頁面...

Environment.SetEnvironmentVariable方法(系統)| 微軟文檔
https://docs.microsoft.com/zh-cn/dotnet/api/system.environment.setenvironmentvariable?view=netframework-4.7.2

EnvironmentVariableTarget枚舉(系統)| 微軟文檔
https://docs.microsoft.com/zh-cn/dotnet/api/system.environmentvariabletarget?view=netframework-4.7.2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM