Powershell附加CSV失败

Powershell附加CSV失败,powershell,csv,Powershell,Csv,我对powershell相当陌生,但当我尝试运行这部分代码时,它有时会起作用,但我通常会收到一条错误消息: "Method invocation failed because [System.Management.Automation.PSObject] doesn't contain a method named 'op_Addition'." 当我在+o中添加$时,它似乎失败了,而且它在过去一直有效。但是我没有改变任何东西让它停止工作。我正在尝试附加到csv,我已经尝试导出csv-appe

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

"Method invocation failed because [System.Management.Automation.PSObject] doesn't contain a method named 'op_Addition'."
当我在+o中添加$时,它似乎失败了,而且它在过去一直有效。但是我没有改变任何东西让它停止工作。我正在尝试附加到csv,我已经尝试导出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

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

导出Csv时的
-Append
参数是PowerShell 3.0中新增的。如果没有3.0,请修改此行:

$in = @(Import-Csv $csv)

那么它应该会起作用。这确保了
$in
始终是一个数组。

太棒了!将$in更改为$in=@(导入Csv$Csv)成功了!它现在允许我添加。感谢您的快速回复!
$in = @(Import-Csv $csv)