尝试将.csv单元格内容导入PowerShell窗体组合/下拉框,当我在每个变量号($ DropDownBox1.Text,$ DropDownBox2.Text等)中进行硬编码时,此方法可以工作,但希望使其变得更聪明并循环通过每个实例并适当地导入。

是否可以修改左手分配以使其相应增加?

$i=0
$x=1
Foreach($User in $ISDept)
{
    $DropDownBox[$x].Text = Import-Csv -Path $File | Select-object -Index ($i) |% {$_.Status}
    $i++
    $x++
}

使用上面的代码,我得到了错误:

“无法索引到System.Windows.Forms.ComboBox类型的对象中。”

提前致谢。

最佳答案

我假设您有一些代码可以创建所有下拉框,并具有您所描述的名称。在这种情况下,您需要使用动态变量和Get-Variable命令。试试这个

$i=0
$x=1
Foreach($User in $ISDept)
{
    $DropDownBox = Get-Variable -Name ('DropDownBox' + ([string]$x)) | Select -Expand Value
    $DropDownBox.Text = Import-Csv -Path $File | Select-object -Index ($i) |% {$_.Status}
    $i++
    $x++
}

关于powershell - PowerShell-递增左手变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44838559/

10-12 19:04