#環境
確認したのは以下の環境。
・Windows10
・PowerShell v5.1
#やりたいこと
テキストファイルの内容を読み込んで、そのままテキストファイルに書き出し。(という簡単な場合を考える)
#問題点
foreach($line Get-Content <filename>)
の形で読み込んで、Write-Out
すると(ここがWrite-Host
でも同様)文字化けする。(たとえば、元ファイルの文字コードがUTF-8の場合になる)
#解決策
Get-Content
に、オプションで-Encoding <文字コード>
を付けてやる。
#例(元ファイルがUTF-8の場合)
以下で文字化け回避。
foreach($line Get-Content -Encoding UTF8 <filename>) {
Write-Out $line | Out-File <output filename>
}