考慮這個 json 文件(TESTKill.json):
{
"CLT_PROD": {
"CLRDIR": "C:\\Test",
"CLREXE": "notepad.exe"
},
"CLT_PROD_GHOST": {
"CLRDIR": "C:\\Kontrolle",
"CLREXE": "powershell.exe"
},
"CLTc_PROD_Test1": {
"CLRDIR": "D:\\Kontrolle",
"CLREXE": "powershell.exe"
},
"CLT_PROD_Test2_GHOST": {
"CLRDIR": "F:\\Kontrolle",
"CLREXE": "powershell.exe"
},
"CLT_PROD_Test3_GHOST": {
"CLRDIR": "J:\\ABU",
"CLREXE": "powershell.exe"
}
}
我只想在 GUI 的下拉列表中給出對象名稱(CLT_PROD、CLT_PROD_GHOST 等)。為此,我有以下代碼:
$CLRJson = Get-Content -Raw -Path "C:\Temp\TESTKill.json" | ConvertFrom-Json
$CLRObjects = $CLRJson.psobject.Properties.name #select only the object names.
$objDropDownDBSchma = New-Object System.Windows.Forms.ComboBox
$objDropDownDBSchma.Location = New-Object System.Drawing.Size(40,40)
$objDropDownDBSchma.Size = New-Object System.Drawing.Size(200,20)
$objForm.Controls.Add($objDropDownDBSchma)
#Objekte aus der json-Datei in die DropDown Liste hinzufügen
Foreach ($CLRObjekte in $CLRObjects) {
$objDropDownDBSchma.items.Add($CLRObjekte)
}
它工作到這裡。我可以從下拉菜單中選擇一個對象。我現在想要的是,在我選擇一個對像後,我想單擊一個按鈕,因此,我應該能夠獲得相應對象的兩個變量“CLRDIR”和“CLREXE”的值。例如:如果我選擇了對象“CLT_PROD_GHOST”,我想在文本框中顯示該對象的這些變量的值。我不知道,如何編寫這個腳本。任何人有任何想法?
謝謝你的幫助:)
您可以從下拉菜單中讀取所選項目的值。這將給出您要訪問的屬性的名稱。然後powershell
可以從 動態訪問該屬性$CLRJson
。我不記得究竟如何訪問下拉菜單的選定項目。您還必須OnClick
在Button
您所說的事件處理程序中註冊一個腳本塊,它可能包含如下內容:
$name = $objDropDownDBSchma.SelectedItem.Value
$CLRObj = $CLRJson.$name
Write-Host $CLRObj.CLRDIR
Write-Host $CLRObj.CLREXE
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句