【问题标题】:Powershell Setting Environment variable for local variablePowershell为局部变量设置环境变量
【发布时间】:2016-01-11 07:22:09
【问题描述】:

我从命令行以 key=val key=val 的格式获取值列表,在将它们分解然后分解为键和值之后,我想使用键设置一个环境变量。

我尝试了以下代码($sst​​r 是从参数中设置的,但我已对其进行硬编码以简化代码),但我收到“意外令牌”错误:

$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"
}

任何关于我哪里出错的建议将不胜感激:)

【问题讨论】:

    标签: windows powershell scripting environment-variables


    【解决方案1】:

    您可以使用Set-Item cmdlet:

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

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

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

    注意,什么只设置进程环境变量。因此,它只影响从该点开始的您的进程和子进程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 2013-11-10
      • 1970-01-01
      相关资源
      最近更新 更多