#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS