このエントリーをはてなブックマークに追加


ファイルへの上書きと追記方法・Set-Content,Add-Content

PowerShellでファイルへの上書きとファイルへの追記方法を以下に記します。
注意事項:
本記事では、Set-Content, Add-Contentコマンドレットを使用した記事です。
同様の処理ができる、Out-File, Out-File -Appendがあります。 違いは、Readロックがかかるかどうかです。
Set-Content, Add-Contentは処理中、Readロックがかかり、他のプロセスから読み込みができなくなります。
Readロックが邪魔な人は、Out-File, Out-File -Appendを使用してください。


Set-Contentで新規ファイル作成or上書き

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でファイルに追記する

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の使用例でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-10-27 (火) 21:34:48