none
csvファイルのインポート、エクスポートについて(その2) RRS feed

  • 質問

  • 前回CSVファイルのインポート、エクスポートで質問させていただきました。
    (http://social.technet.microsoft.com/Forums/ja-JP/powershellja/thread/3bc692ab-8016-4485-b92f-2da0de192a57)


    (質問,抜粋)
    また、Powershellのバージョンは 1.0 です。

    (回答,抜粋)
    PowerShell 1.0ということで出力オブジェクトの生成が若干めんどくさいですがこんな感じで行けると思います。


    会社で調べたところ、Powershellのバージョンが2.0であることが判明しました。
    (PSHOMEの値が、~~~\v1.0となっていたので、勘違いしてしまいました。$PSVersionを確認すると、2.0となってました)
    もちろん、ご提示頂いたコードは実行できたのですが、出力オブジェクトの生成が2.0になるとめんどくさく
    なくなるのであれば、どのようになるのか知りたいと思いまして、再度質問させていただきました。

    よろしくお願いします。
    2012年8月22日 5:01

回答

  • # PowerShell 1.0
    $outRecord=New-Object PSObject|Add-Member noteproperty X $null -pass|Add-Member noteproperty Y $null -pass
    
    # PowerShell 2.0
    $outRecord=New-Object PSObject -Property @{X=$null;Y=$null}
    
    # PowerShell 3.0
    $outRecord=[pscustomobject]@{X=$null;Y=$null}

    3つのコードはほぼ等価です。PowerShell2.0と3.0では連想配列リテラルを用いて簡単にカスタムオブジェクトを作れるようになりました。
    • 回答としてマーク ぺおぽん 2012年8月23日 3:38
    2012年8月22日 6:31
    モデレータ

すべての返信

  • # PowerShell 1.0
    $outRecord=New-Object PSObject|Add-Member noteproperty X $null -pass|Add-Member noteproperty Y $null -pass
    
    # PowerShell 2.0
    $outRecord=New-Object PSObject -Property @{X=$null;Y=$null}
    
    # PowerShell 3.0
    $outRecord=[pscustomobject]@{X=$null;Y=$null}

    3つのコードはほぼ等価です。PowerShell2.0と3.0では連想配列リテラルを用いて簡単にカスタムオブジェクトを作れるようになりました。
    • 回答としてマーク ぺおぽん 2012年8月23日 3:38
    2012年8月22日 6:31
    モデレータ
  • 牟田口様

     非常に参考になりました。

     前回に引き続き、ありがとうございました。


    2012年8月23日 3:39