Get-Content pode não ser ideal, pois ele lida com o arquivo de entrada linha a linha (pelo menos, por padrão, se você não usar a opção Raw
conforme descrito posteriormente) e pode causar a alteração da terminação da linha ( por exemplo, se você mover arquivos de texto entre sistemas Unix e Windows). Eu tive sérios problemas em um roteiro só porque isso, e levou cerca de uma hora para encontrar o motivo exato. Veja mais sobre isso em este post . Devido a esse comportamento, Get-Content também não é a melhor escolha, se o desempenho for importante.
Em vez disso, você pode usar o PowerShell em combinação com as classes .NET (contanto que você tenha uma versão do .NET Framework instalada em seu sistema):
$sr = New-Object System.IO.StreamReader($infile)
$sw = New-Object System.IO.StreamWriter($outfile, $false, [System.Text.Encoding]::Default)
$sw.Write($sr.ReadToEnd())
$sw.Close()
$sr.Close()
$sw.Dispose()
$sr.Dispose()
Ou, ainda mais simples, use a opção Raw
conforme descrito aqui para evitar essa sobrecarga e ler o texto em um único bloco:
Get-Content $inFile -Raw