Member 14156312 Ответов: 1

Как прочитать конкретный раздел INI-файла в powershell?


У меня есть INI-файл, похожий на этот :

[Setting]
Level=5
Name=x:\process.log
Log=1
Type=2

[State]
stage=10
step=Capture
status=BEGIN
Step=
Status=


Я хочу прочитать определенный раздел INI-файла. То, как я хочу прочитать этот элемент, выглядит следующим образом :
Я запускаю его с помощью CMD :

Script.ps1 Get-Infile -pathofINIfile имя настройки Setting_Name.cmd

Я хочу прочитать раздел [Setting] и значение "Name" , а затем записать его в файл "Setting_Name.cmd"

Что я уже пробовал:

Function Get-IniFile
{

Param(
  [parameter(mandatory=$true)][string]$path
)
$inifile = $path
$ini = @{}

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

$read = $ini.Setting.Name
$read

}