narrow bridge connecting two large storage tanks

Q. Why can't I pipe a formatted table to a CSV file?

Q. Why can't I pipe a formatted table to a CSV file?

A. You can, but the CSV file will contain the output of the Format-Table cmdlet, which probably isn't what you want. Format cmdlets produce objects that tell the shell how to construct an on-screen display, which is why this produces such ugly output, as this example shows:

Get-Process | Format-Table | Export-CSV procs.csv

Generally, a Format cmdlet should be the LAST thing on your command line. The only exceptions are Out-File, Out-Host, and Out-Printer, which understand the output of a Format cmdlet. These cmdlets work fine, as this code shows:

Get-Process | Format-Table | Out-File procs.txt

If you want processes in a CSV file, just skip the table:

Get-Process | Export-CSV procs.csv

Do you have a Windows PowerShell question? Find more PowerShell FAQs, articles, and other resources at


Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.