我想阅读INI文件的特定部分。 我的INI文件如下所示:
[Setting] Level=5 Name=x:\process.log Log=1 Type=2 [State] stage=10 step=Capture status=BEGIN Step= Status=
我想阅读Setting
部分和值Name
。
我尝试过:
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
}
我想使用CMD来运行它:
Script.ps1 Get-IniFile -path pathINIfile Setting Name Setting_Name.cmd
我运行脚本,INI文件的路径,读取Setting
节,读取Name
的值,然后将值写入Setting_Name.cmd
。