【问题标题】:PowerShell - Incrementing Left Hand VariablePowerShell - 增加左手变量
【发布时间】:2017-12-03 22:44:19
【问题描述】:

尝试将 .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 类型的对象。”

提前致谢。

【问题讨论】:

标签: powershell foreach import-csv


【解决方案1】:

我假设您有一些代码可以创建所有下拉框,其名称如您所描述。在这种情况下,您需要使用动态变量和 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++
}

【讨论】:

  • 完美!我已经尝试过 get-variable 函数,但是在尝试加入“DropDownBox”字符串和递增数字时我的语法有点不对劲!?再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
  • 1970-01-01
  • 2021-09-13
相关资源
最近更新 更多