Get-Member中的ForEach属性

Rya*_*ies 5 powershell foreach sqlcmd

我在powershell脚本中有以下代码片段

    $sqlHDR = "SELECT * FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=" + $dir + $m + ".xls;HDR=NO','SELECT * FROM [" + $y + "`$B1:Z1]')"
    $doHDR = invoke-sqlcmd -query $sqlHDR -ServerInstance $sqlserver -Database $db

    $doHDR | get-member -membertype properties
Run Code Online (Sandbox Code Playgroud)

这是循环遍历数百个Excel电子表格的循环的一部分.结果是从F1到F*n*(n是未知的最终列号)的动态变化列集,其仅具有一行,每行具有单个值.

我想知道我是否可以使用get-member以某种方式遍历数据集中的列以获取对字段中值的访问权限?或者我完全倒退了,是否有更好的方法来循环单个数据行中的值?

或者有没有办法循环通过属性名称本身?

非常感谢!

mjo*_*nor 10

这对你有帮助吗?

$doHDR.psobject.properties | 
 where {$_.name -like 'something*'} |
 foreach {set-variable -Name $_.name -Value $_.value}
Run Code Online (Sandbox Code Playgroud)

使用示例foreach进行更新