ようこそ 屋根裏部屋 mkII へ ログイン | 登録 | ヘルプ

Technological

ちょっとしたTIPSや私がはまったこと、調べたことなんかを書いていきます。

PowerShellのswitch –fileオプションでSHIFT-JISエンコーディングファイルが読めない

PowerShellで-fileオプションを指定すると、テキスト一行ごとにイテレーターとして処理が行われます。したがって、行ごとに特定のキーワードが含まれる場合、反復処理が多重ループにならず、便利です。

switch –regex –file user.txt

{

  “てきすと” { write-host $_}

}

ローカライズされたPowerShellの場合、UTF-16,SHIFT-JIS(MS932),UTF-8が読める…はずなのですが、どうもUTF-8とUTF-16しか認識しないようです。PowerShell 2.0でもこれはダメみたい。Shift-JISファイルを読みたい場合はこうするしかありません。このおかげで超はまりました。

$contents = get-content user.txt

switch –regex $contents

{

  “てきすと” { write-host $_}

}

それにしても、いろんなドキュメントでこれができると書かれているのですが、エンコーディングのこと、誰も書いてくれてない…。私だけじゃないよね?

公開 2009年10月19日 23:52 投稿者 kkamegawa
タグ , , , ,

コメントの通知

この投稿にコメントが付いた場合にメールを受信するには、登録してください。ここ

また次のフィードから、お気に入りのRSSリーダーを使って最新の状態を知ることもできます。 コメントのRSSフィード

コメント

コメントはありません

どのような感想ですか?

(必須) 
必須 
(必須) 
Powered by Community Server, by Telligent Systems