1
我試圖使用PSIni module命令Get-IniContent
從.ini文件中提取數據。我有一個可行的腳本,但它產生的數據比我需要的要多。從ini創建一個輸出到powershell - 高級
我的ini文件看起來像這樣:
[General settings]
gensetting1=random
gensetting2=random
gensetting3=random
[KPROD]
setting1=1
setting2=2
setting3=3
setting4=4
[KTEST]
setting1=1
setting2=2
setting3=3
setting4=4
[KDEV]
setting1=1
setting2=2
setting3=55
setting4=4
我想排除我的輸出[常規設置]什麼。我想看到的唯一數據是[KPROD]部分的鍵和值以及[KDEV]和[KTEST]部分中與[KPROD]中不同的值。
這裏是我當前的代碼:
ipmo psini
$ini = Get-IniContent "C:\Temp\test1.ini"
Foreach ($key in $ini.keys) {
Write-Host $key ;
Write-Host "Settings1 and Settings2 are set to:"
($ini[$key].GetEnumerator() | Where-Object {
$_.key -like "Setting1" -or
$_.key -like "Setting2" } | Format-Table -HideTableHeaders | Out-
String).trim();
Write-Host "Setting3 is set to: " ;
($ini[$key].GetEnumerator() | Where-Object {
$_.key -like "Setting3" } | Format-Table -HideTableHeaders | Out-
String).trim();
Write-Host "Setting4 is set to:" ;
($ini[$key].GetEnumerator() | Where-Object {
$_.key -like "Setting4" } | Format-Table -HideTableHeaders | Out-
String).trim();
Write-host ""
}
Read-Host -Prompt "Press Enter to exit"
這是目前的結果是:
General settings
Settings1 and Settings2 are set to:
Setting3 is set to:
Setting4 is set to:
KPROD
Settings1 and Settings2 are set to:
setting1 1
setting2 2
Setting3 is set to:
setting3 3
Setting4 is set to:
setting4 4
KTEST
Settings1 and Settings2 are set to:
setting1 1
setting2 2
Setting3 is set to:
setting3 3
Setting4 is set to:
setting4 4
KDEV
Settings1 and Settings2 are set to:
setting1 1
setting2 2
Setting3 is set to:
setting3 55
Setting4 is set to:
setting4 4
Press Enter to exit:
我想輸出到如下所示:
KPROD
Settings1 and Settings2 are set to:
setting1 1
setting2 2
Setting3 is set to:
setting3 3
Setting4 is set to:
setting4 4
KMDEV
Setting3 is set to:
setting3 55
馬克,非常感謝你!就是這樣。我忘了使用$ _變量!在這種情況下,這正是我所需要的! – user951376