PowerShellでファイルへの上書きとファイルへの追記方法を以下に記します。
注意事項:
本記事では、Set-Content, Add-Contentコマンドレットを使用した記事です。
同様の処理ができる、Out-File, Out-File -Appendがあります。
違いは、Readロックがかかるかどうかです。
Set-Content, Add-Contentは処理中、Readロックがかかり、他のプロセスから読み込みができなくなります。
Readロックが邪魔な人は、Out-File, Out-File -Appendを使用してください。
Set-Contentコマンドレットを使うことにより、ファイルを新規に作成し内容の書き込みができます。
すでにファイルが存在する場合は、既存内容を消去し内容を書き込みます。
以下に動作例を記します。
PS C:\sakura> Write-Output あいうえお | Set-Content -Encoding Default out.txt PS C:\sakura> Get-Content .\out.txt あいうえお PS C:\sakura> Write-Output かきくけこ | Set-Content -Encoding utf8 out.txt PS C:\sakura> Get-Content .\out.txt
EncodingにDefaultを指定したのは、SJISとして出力させるためです。
例えばUTF8を指定すれば、UTF8で出力されます。
Add-Contentコマンドレットを使うことにより、ファイルがない場合、新規に作成され内容が書き込まれます。
すでにある場合は、内容の追記となります。
以下に動作例を記します。
PS C:\sakura> Write-Output あいうえお | Add-Content out.txt -Encoding Default PS C:\sakura> Write-Output かきくけこ | Add-Content out.txt -Encoding Default PS C:\sakura> Get-Content out.txt あいうえお かきくけこ
追記されているのが確認できます。
以上、Set-ContentとAdd-Contentの使用例でした。