我的睡眠严重不足,压力很大,所以这可能非常简单,但我仍然无法解决。
我想导出各种内容,例如服务,进程,防火墙规则,本地用户,无论我需要将其作为CSV格式,但是每次以这种方式导出时,csv在打开时在Excel中都只有1列。
我只希望输出用列分隔,以便可以在Excel中进行简单的概述。
Get-Service | Sort-Object Status | Format-Table -AutoSize | Out-String -Width 10000 | Out-File -Append "C:\temp\Test.csv"
但这是我得到的输出: Services
如果我使用Export-CSV CMD,就会发生以下情况:Services
答案 0 :(得分:2)
那为什么不仅仅导出到csv?
Get-Service | Select Name,DisplayName,Status | Sort-Object Status | Export-Csv "C:\temp\Test.csv" -NoTypeInformation
答案 1 :(得分:1)
PowerShell的默认CSV分隔符是逗号。要使Excel正确读取CSV,请使用-Delimiter
参数将其更改为分号:
Get-Service | sort Status | Export-Csv "C:\temp\Test.csv" -NoTypeInfo -Delim ";"
或者使用-UseCulture
开关(感谢@JosefZ),它使用与Excel相同的基于区域的ListSeperator设置:
Get-Service | sort Status | Export-Csv "C:\temp\Test.csv" -NoTypeInfo -UseCulture