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进行更新