Powershell附加CSV失败

时间:2013-02-06 18:50:34

标签: powershell csv

我对powershell相当新,但是当我尝试运行这部分代码时,它有时会运行,但我通常会收到一条错误消息:

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

当我添加$ in + $ 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

1 个答案:

答案 0 :(得分:3)

当$ in是一个数组时,这可能有效。但是,如果您只使用单个元素读取CSV,则会失败。您可以在PowerShell 3.0中执行此操作(您甚至不需要读入$ in):

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

Export-Csv上的-Append参数是PowerShell 3.0中的新增功能。如果您没有3.0则修改此行:

$in = @(Import-Csv $csv)

然后它应该工作。这可以确保$in始终是一个数组。