2007/01/08

PowerShellにおいて、リダイレクト(> or >>)を使ってテキストファイルにテキストを書き込むと、Unicodeで書き込まれます。

が、Set-ContentやAdd-Contentコマンドレットを使うと、Shift-JIS/US-ASCIIで書き込まれます。

ということは、両者を併用して同じファイルに書き込むことは出来ません。(たぶん)

回避策は、リダイレクトのコマンドレットバージョンとして、Out-Fileコマンドレットがありますが、パラメータに-encoding defaultと指定すると、Shift-JIS/US-ASCIIで書き込まれます。これならAdd-Contentコマンドレットと文字コードを合わせられます。

が、面倒ですね…。リダイレクトで出力されるデフォルト文字コードを指定できればいいんですが…。

元記事:http://blogs.wankuma.com/mutaguchi/archive/2007/01/08/54993.aspx

Copyright © 2005-2016 Daisuke Mutaguchi All rights reserved

mailto: mutaguchi at roy.hi-ho.ne.jp

Awards

Books

Twitter