title: PowerShell Get-Content with basic manipulations so slow
body: <p>I am merging a lot of large CSV files, e.g. while skipping the leading junk and appending the filename to each line:</p>
  
  <pre><code>Get-ChildItem . | Where Name -match "Q[0-4]20[0-1][0-9].csv" | 
  Foreach-Object {
      $file = $_.BaseName
      Get-Content $_.FullName | select-object -skip 3 | % {
          "$_,${file}" | Out-File -Append temp.csv -Encoding ASCII
      }
  }
  </code></pre>
  
  <p>In PowerShell this is incredibly slow even on an i7/16GB machine (~5 megabyte/minute).  Can I make it more efficient or should I just switch to e.g. Python?</p>