0

Powershell のデータ型に関する初心者向けの質問が 2 つあります。

  1. これら 2 つのコマンドの結果が異なるのはなぜですか?

    PS > $test = {"a", "b", "c"}
    PS > foreach ($item in $test) { $item | Out-Host }
    "a", "b", "c"
    PS > $test = "a", "b", "c"
    PS > foreach ($item in $test) { $item | Out-Host }
    a
    b
    c
    
  2. 1 つのコマンドで返されるデータは、リストとしてフォーマットすると次のようになります。

    Changes              : {Change instance 10406282
                            ChangeType: Edit
                            (...)
    
                          , Change instance 25906333
                            ChangeType: Edit
                            (...)
                           }
    

    これはある種のアイテムのリストのようです。どうすればforeachそれらを通過できますか?

4

2 に答える 2

2

最初の質問 次の場合: $test = {"a", "b", "c"} $test.GetType()

$test = "a", "b", "c"
$test.GetType()

ScriptBlock最初のオブジェクトが2 番目のオブジェクトが配列であることに気付くでしょう。

2 番目の質問

結果をオブジェクトに割り当て、上記のように単純に繰り返します。

簡単な例:

$result = (Get-TfsItemHistory $/<projectName> -all -user $name -Recurse -server $tfs)
$result | foreach {$item = $_; Write-Host $item; Write-Host $item.ChangeType;}
于 2013-06-24T10:53:27.980 に答える