等价于Export-Csv到Write-Output

Ste*_*ven 1 powershell powershell-3.0

如何将对象转换为一系列CSV字符串并将其输出到另一个命令?

Export-Csvcmdlet将仅输出到文件。我想将CSV输出发送到另一个命令或脚本输出。

作为一种解决方法,我可以使用Export-Csv一个文件,读取该文件,然后删除该文件,但是这种方法有太多不必要的开销。

导出CSV

将对象转换为一系列逗号分隔值(CSV)字符串,并将字符串保存到文件中。

Mar*_*agg 7

如果要将对象转换为CSV并将结果返回到stdout而不是文件,则应使用ConvertTo-CSV cmdlet。

ConvertTo-CSV cmdlet返回一系列用逗号分隔的值(CSV)字符串,这些字符串代表您提交的对象。然后,您可以使用ConvertFrom-Csv cmdlet从CSV字符串重新创建对象。从CSV转换的对象是原始对象的字符串值,其中包含属性值且没有方法。

您会发现大多数内置Export-cmdlet都有一个ConvertTo-等效项。发现cmdlet的另一种好方法是Get-Command与通配符一起使用:

~> Get-Command *csv

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           epcsv -> Export-Csv
Alias           ipcsv -> Import-Csv
Cmdlet          ConvertFrom-Csv                                    3.1.0.0    Microsoft.PowerShell.Utility
Cmdlet          ConvertTo-Csv                                      3.1.0.0    Microsoft.PowerShell.Utility
Cmdlet          Export-Csv                                         3.1.0.0    Microsoft.PowerShell.Utility
Cmdlet          Import-Csv                                         3.1.0.0    Microsoft.PowerShell.Utility
Run Code Online (Sandbox Code Playgroud)