1

我对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
4

1 回答 1

3

这可能在 $in 是一个数组之前有效。但是,如果您在 CSV 中仅读取一个元素,它将失败。您可以在 PowerShell 3.0 中执行此操作(您甚至不需要读取 $in):

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

-AppendExport-Csv 上的参数是 PowerShell 3.0 中的新参数。如果你没有 3.0 然后修改这一行:

$in = @(Import-Csv $csv)

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

于 2013-02-06T18:55:05.890 回答