-3

我正在使用 export-csv 命令从 powershell 导出数据。一切正常(我已经使用调试器逐步完成并查看 csv 文件中的数据更改)唯一的问题是数据只是一遍又一遍地写入第 1 行。我怎样才能让它每行写一行数据(我正在使用foreach循环)?

4

1 回答 1

1

除非您有 PS 3.0,否则您不能使用Export-CSV附加到文件。前任:

$mylist | Foreach { 
    #Export item til csv.
    $_ | Export-CSV myfile.csv -notypeinformation
}

这将每次覆盖 csv 文件,因此它始终包含一个对象,这会导致 csv 文件包含标题和循环中的 LAST 对象。

使用 PowerShell 3.0,您可以-Append像这样使用开关:

$mylist | Foreach { 
    #Export item til csv.
    $_ | Export-CSV myfile.csv -notypeinformation -append
}

如果您没有 PowerShell 3.0,则需要手动创建 csv-output 并out-file -append在循环中使用类似的东西,或者同时导出整个数组(推荐),例如:

$mylist | Select Name, Age | Export-CSV myfile.csv -notypeinformation

在导出到 csv 之前,我用Select-object上面的方法以正确的顺序选择了我想要的属性。

于 2013-08-25T10:27:52.930 回答