2015-10-13 104 views
2

我從命令行獲取key = val key = val格式的值列表,然後將其分解爲key和value之後,我想設置一個環境變量鑰匙。Powershell設置局部變量的環境變量

我曾嘗試下面的代碼($ SSTR正在從參數設置,但我已經硬編碼它簡化了代碼),但我得到「意外的標記」錯誤:

$retrievedVal = "key1=val1 key2=val2" 

# Split the string, with space being the delimiter, leaving key=value 
$sstr = $retrievedVal .split(" ") 

foreach ($var in $sstr) 
{ 
    $keyvalueList = $var.split("=") 
    $env:($keyvalueList[0]) = "Test" 
} 

任何建議到我出了問題,將不勝感激:)

回答

2

您可以使用Set-Item的cmdlet:

$Name,$Value='key1=val1'-split'=',2 
Set-Item -LiteralPath Env:$Name -Value $Value 

你也可以使用[Environment]::SetEnvironmentVariable方法:

[Environment]::SetEnvironmentVariable($Name,$Value) 

注意,那只是設置了過程環境變量。所以,它隻影響你的流程和子流程,從這一點開始。

+0

@ PetSerAl謝謝你,工作一個治療! –