Как установить значение INI в качестве переменных среды в PowerShell? - PullRequest
0 голосов
/ 27 марта 2019

Я хочу установить свой INI файл значений в качестве переменных среды. Кто-нибудь может дать мне идею?

Here is my code to get the `INI` value.

    Param(
            [parameter(mandatory=$true)][string]$FilePath, $ini, $a_section, $b_node, $c_store
            , $a, $b, $c, $Variable_Name
            )

        Function Read-File
        {
            $input_file = $FilePath
            $ini_file = @{}

            Get-Content $input_file | ForEach-Object {
            $_.Trim()
            } | Where-Object {
            $_ -notmatch '^(;|$)'
            } | ForEach-Object {
            if ($_ -match '^\[.*\]$') {
                $section = $_ -replace '\[|\]'
                $ini_file[$section] = @{}
            } else {
                $key, $value = $_ -split '\s*=\s*', 2
                $ini_file[$section][$key] = $value
            }
            }

             $Get = $ini_file.($a_section).($b_node)
             $Store = $c_store
             $Output = $ini_file.($a_section).($b_node) | Out-File $Store\Value.txt

            $EV_Value = "$Get"
            [Environment]::SetEnvironmentVariable("$Variable_Name", "$EV_Value")

        }

Мой INI-файл:

[Information]
Name=Joyce
ID=112233

Мои ожидания для переменных среды выглядят так @set 112233 -> это файл CMD. Но я хочу сделать это автоматически, чтобы установить в качестве переменной среды без выполнения файла CMD. Если я использую командную строку, чтобы получить переменную среды:

echo %CMDfile% -> it will show 112233
...