以前、PowerShellでファイルリストをCSVで出力する方法を解説しました。
今回は、テキストをファイルに書き出す方法を解説したいと思います。
ソースコード
まずはソースコードです。
$text_path = "C:\work\ps1.txt" Write-Output あいうえお | Out-File $text_path -Encoding default -Append Write-Output かきくけこ | Out-File $text_path -Encoding default -Append Write-Output さしすせそ | Out-File $text_path -Encoding default -Append
ソースコードの解説になります。
まず、1行目の「$text_path = “C:\work\ps1.txt”」は、「text_path」という変数に「C:\work\ps1.txt」を格納しています。
これは、出力するテキストファイルのフルパスを定義しています。
以降に3回記述されている「Write-Output あいうえお | Out-File $text_path -Encoding default -Append」について説明します。
Write-Output {出力する文字列}
テキストファイルにどのようの文字列を出力するかを定義します。
Out-File $text_path -Encoding default -Append
「Out-File {出力先のパス}」は、「Write-Output」で出力するファイルを指定します。
出力先パスの「$text_path」は、変数となっており、サンプルの1行目で定義している「C:\work\ps1.txt」を指定しています。
オプションとして指定している「-Encoding default」は、出力するテキストの文字コードを指定しています。「default」は「SJIS」を指します。
これを付けておかないと出力した内容が文字化けする恐れがありますので注意してください。
もう1つのオプション「-Append」は、出力内容を追記するという定義になります。
実行結果
サンプルの実行結果になります。
サンプルはPowerShellファイル形式で保存(*.ps1)することで、ダブルクリックで実行できるようになっています。これはレジストリを変更することで設定可能で、設定方法は下記にまとめました。
単純にソースコードに記述した内容がテキストに出力されています。
あいうえお かきくけこ さしすせそ
ちなみに、サンプルを2度実行した場合は、出力したファイルが以下のようになります。
追記モード(-Appendオプションを付けている)なので、同じ文言が2度出力されています。
あいうえお かきくけこ さしすせそ あいうえお かきくけこ さしすせそ
おわりに
記事は以上です。今回は簡単なテキストを出力してみましたが、同じオプションが何度も設定されており、ソースコードが綺麗ではないですよね。
下記で関数化したものをご紹介しているので是非ご利用ください。
コメント