プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Windows PowerShell、テキストファイルの書き込み
結論から書けば「System.IO.StreamWriter」を使えばOKです。
多分コードを見た方が早いと思うので、サンプルコードφ(--)

# 出力ファイル名
[String]$output_file = "C:\hoge.txt"

# ファイルストリームをオープン
$sw = New-Object System.IO.StreamWriter($output_file, $false, [Text.Encoding]::GetEncoding("UTF-8"))

# テキスト書き込み
$sw.WriteLine("aaa")
$sw.WriteLine("あああ")
$sw.WriteLine("111")

# ファイルストリームクローズ
$sw.Close()

解説の必要は無いかもしれませんが、一応説明を書いておきますね。

$sw = New-Object System.IO.StreamWriter($output_file, $false, [Text.Encoding]::GetEncoding("UTF-8"))

の部分が処理の始まりです。書き込み用のストリームを開いています。
書式は

$sw = New-Object System.IO.StreamWriter([出力ファイル名], [追記 or 上書き], [エンコードの指定])

です。
第二引数は「$true」を設定すれば追記モード、「$false」を指定すれば上書きモードになります。
第三引数ではファイルのエンコーディングを指定してください。
よく使うのは「UTF-8」「Shift_JIS」「EUC-JP」辺りですかね。

ファイルを開いたら中身を書きます。

$sw.WriteLine("aaa")
$sw.WriteLine("あああ")
$sw.WriteLine("111")

の部分でファイルに内容を出力しています。
書式は

$sw.WriteLine([出力する内容])

です。
「$sw」は「System.IO.StreamWriter()」の戻りを拾ったときのストリーム用の変数なので、
ご自分のコードに合わせて読み替えて下さい。

「$sw.WriteLine()」を一つ実行する毎に改行が一つ挿入されます。
サンプルのコードを実行すると、中身が

aaa
あああ
111

のテキストファイルが出力されますよ。

「$sw.WriteLine()」を実行したことでファイルに中身が書き込まれました。
最後に

$sw.Close()

でストリームを閉じています。
ここら辺はファイル出力時のお約束事ですね。

以上です。

最後にもう一度まとめておくと

1.ファイルを開いて
New-Object System.IO.StreamWriter()

2.中身を書いて
$sw.WriteLine()

3.ファイルを閉じる
$sw.Close()

です。
そんなに難しくは無いですよね?

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● Windows PowerShell  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事