2013-02-06 108 views
1

我是相當新的PowerShell的,但是當我嘗試運行代碼的這一部分,它工作的時候,但是我通常會得到一個錯誤信息:PowerShell的追加CSV失敗

"Method invocation failed because [System.Management.Automation.PSObject] doesn't contain a method named 'op_Addition'." 

看來,當失敗我在+ $ o中添加了$,並且它在過去有效。我沒有改變任何東西,但它停止了工作。我試圖追加到csv,並且我已經嘗試了Export-CSV -append,但是這對我不起作用。有關此代碼可能出錯的任何想法?

$in = Import-Csv $csv 

    $obj = New-Object PSObject 
    $obj | Add-Member NoteProperty Column1 "$c1" 
    $obj | Add-Member NoteProperty Column2 "$c2" 
    $obj | Add-Member NoteProperty Column3 "$c3" 

    $in + $obj | Export-Csv -Encoding ASCII -NoTypeInformation $csv 

回答

3

這可能在$ in是數組之前就有效。但是,如果您只用一個元素讀取CSV文件,則會失敗。你可以這樣做,而不是在PowerShell中3.0(你並不需要,甚至在閱讀在$):

$obj | Export-Csv $csv -Encoding ASCII -NoTypeInformation -Append 

對出口CSV上的-Append參數在PowerShell中3.0是新的。如果你沒有3.0然後修改這一行:

$in = @(Import-Csv $csv) 

然後它應該工作。這確保$in始終是一個數組。

+0

令人驚歎!將$ in更改爲$ in = @(Import-Csv $ csv)訣竅!現在它允許我添加添加。感謝您的快速響應! – rawrPowershell