5

私の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

これは、何百もの Excel スプレッドシートを循環するループの一部です。結果は、F1 から F*n* ( nは未知の最終列番号) まで動的に変化する列のセットであり、各行に 1 つの値を持つ 1 つの行しかありません。

get-member を使用してデータセット内の列を何らかの形でループし、フィールド内の値にアクセスできるかどうか疑問に思いましたか? または、これを完全に逆行していますか?単一のデータ行の値をループするより良い方法はありますか?

または、プロパティ名自体をループする方法はありますか?

どうもありがとう!

4

2 に答える 2

1

を使用する方が簡単ではないでしょうFormat-Listか?

$doHDR | FormatList F*
于 2013-11-14T02:12:36.300 に答える