#navi(../)
* PowerShellでファイル出力がBOM付き、UNICODE(UTF-16)になる場合の対処方法 [#w9a5e19b]
PowerShellで結果をリダイレクトでファイルに出力すると、BOM付き、UNICODE(UTF-16)でファイルが出力されてしまいます。~
これを、BOMなし、SJISにする方法を以下に記します。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* 関連記事 [#zbb7eb1c]
-[[Out-FileとSet-Content(Add-Content)の違いについて>PowerShell/Out-FileとSet-Content(Add-Content)の違いについて]]
* リダイレクト出力 [#ud1b9ab0]
PS C:\temp> "さくら" > sakura.txt
サクラエディタで開くと Unicode BOM付 と表示されます。
#ref(01.png)
* Set-Content/Add-Contentによる出力 [#vd69e3c1]
PS C:\temp> "さくら" | Set-Content .\sakura.txt
PS C:\temp> "つばき" | Add-Content .\sakura.txt
サクラエディタで開くと SJIS と表示されます。~
Set-Content, Add-Contentを使用すれば、SJISで出力されます。~
ただし、以下のリンクに詳細を記述していますが、Set-Content, Add-Contentはリードロックがかかる仕様がありあす。
-[[Out-FileとSet-Content(Add-Content)の違いについて>PowerShell/Out-FileとSet-Content(Add-Content)の違いについて]]
#ref(02.png)
* Out-Fileによる出力 [#w37c1e9e]
Out-Fileにオプションなしで実行すると、
PS C:\temp> "さくら" | Out-File .\sakura.txt
サクラエディタで開くと Unicode BOM付 と表示されます。
#ref(03.png)
ただし、以下のように記述すれば、SJISとして出力することができます。
PS C:\temp> "さくら" | Out-File -Encoding Default .\sakura.txt
#ref(04.png)
また、UTF-8などにして出力も可能です。~
ただし、BOM付きになります。
PS C:\temp> "さくら" | Out-File -Encoding UTF8 .\sakura.txt
#ref(05.png)
以上、ファイル出力がBOM付き、UNICODE(UTF-16)になる場合の対処方法でした。
#htmlinsertpcsp(win-btm.html,win-sp.html)