展开PSObject以导出到csv
如何将展开PSObject以导出到csv,csv,powershell,Csv,Powershell,如何将Get Help返回的PSobjects转换为字符串并导出为csv?。我认为这是一个简单的,但我不能完全得到的格式,我正在寻找。通过阅读之前的答案,我试图: Get-Help Get-Content | Select-Object -First 1 -Property @{ Name="temp" Expression = { $_.Name,$_.Synopsis,$_.syntax,$_.Description } } | Select-Object -ExpandPr
Get Help
返回的PSobjects
转换为字符串并导出为csv?。我认为这是一个简单的,但我不能完全得到的格式,我正在寻找。通过阅读之前的答案,我试图:
Get-Help Get-Content | Select-Object -First 1 -Property @{
Name="temp"
Expression = { $_.Name,$_.Synopsis,$_.syntax,$_.Description }
} | Select-Object -ExpandProperty temp
这几乎就是我想要的,只是看起来字段是数组而不是字符串。我试图为每个元素只包含一个字符串,即(名称、概要、语法等)
如果我尝试将其导出到csv,我会得到对象的长度,而不是对象本身:
Get-Help Get-Content | Select-Object -First 1 -Property @{
Name="temp"
Expression = { $_.Name,$_.Synopsis,$_.syntax,$_.Description }
} | Select-Object -ExpandProperty temp | export-csv -NoType -Path $env:HOME\test.txt
我假设您希望在一个单独的列中导出每个属性(您的脚本当前只导出一个属性)。为此,必须选择每个属性。对于
语法
和说明
我使用输出字符串
cmdlet将其转换为字符串,并删除了所有\r\n
以获取有效的CSV:
Get-Help Get-Content | Select-Object -First 1 |
Select-Object Name, Synopsis,
@{l='Syntax'; e={($_.Syntax | out-string) -replace "`r?`n"}},
@{l='Description '; e={($_.Description | out-string)-replace "`r?`n"}} |
Export-Csv -Path $env:HOME\test.txt -NoTypeInformation