[PowerShell][Out-File] 出力ファイルの文字コードを指定する方法

概要

PowerShellのOut-Fileコマンドレットを使用すると、コンソール上で表示されているデータをテキストファイルに保存することができます。しかし、Out-Fileで保存されるファイルの文字コードが指定されていない場合、その環境のデフォルト文字コードで保存されるため、別の環境でそのファイルを開くと文字化けしてしまうことがあります。そこで、Out-Fileでの出力ファイルの文字コードを指定する方法について説明します。

構文

Out-File [-FilePath]  [-InputObject]  [-Append] 
  [-Force] [-NoClobber] [-Encoding ] [-NoNewline] [-Width ]

Out-Fileコマンドレットの-Encodingパラメータを使用して、出力ファイルの文字コードを指定することができます。Encodingパラメータには、ファイルに使用する文字コードを表すEncodingオブジェクトを指定します。Encodingオブジェクトには、ASCII、UTF8、UTF7、Unicode、BigEndianUnicode、Default、OEM、UTF32などがあります。デフォルトの文字コードは、システムのコードページに基づいています。

使用例

例えば、UTF-8でファイルを出力する場合は、以下のようにします。

Get-ChildItem | Out-File -FilePath "C:\temp\files.txt" -Encoding UTF8

このコードでは、Get-ChildItemで取得したデータをUTF-8の文字コードでC:\temp\files.txtに出力しています。文字コードを指定しない場合、デフォルトの文字コードで出力されるため、異なる環境でファイルを開くと文字化けすることがあります。Out-Fileコマンドレットの-Encodingパラメータを使用することで、出力ファイルの文字コードを指定し、異なる環境でも正しくファイルを開くことができます。

コメント

タイトルとURLをコピーしました