[登録されているタグ]

[記事公開日]2025/12/18

PowerShellでファイルに追記する|Add-Contentの使い方

📝 はじめに

PowerShellでログ出力や処理履歴を残していると、
「既存のファイルに追記したい」
「前の内容は残したまま、新しい行を追加したい」
「実行ログを時系列で蓄積したい」
という場面は非常によくあります。

そんなときに使うのが
Add-Content です。
ファイルの内容を消さずに、末尾へ追記するための基本コマンドです。

こんな場面で便利

  • ログファイルに処理結果を追加したい
  • 履歴ファイルを時系列で残したい
  • 既存ファイルを壊さず更新したい

✅ このコマンドでできること(要点)

  • 既存ファイルの末尾に内容を追記できる
  • ファイルがなければ新規作成される
  • 複数行・配列の追記に対応
  • ログ・履歴管理に最適

✅ Add-Content でできること

Add-Content は、
指定したファイルに対して
既存の内容を保持したまま
新しい内容を末尾に追加するコマンドです。

Set-Content
「内容を上書きする」のに対し、
Add-Content
「積み重ねて書き足す」用途で使います。

🧩 基本構文

Add-Content ファイルパス 内容

内容には文字列・変数・配列などを指定できます。

▶ 基本的な使い方(まずこれだけ)

🔹 ファイルに1行追記する

Add-Content C:\Logs\app.log "処理が完了しました"

既存の内容は残したまま、
最後の行に文字列が追加されます。

🔹 変数の内容を追記する

$msg = "実行日時: $(Get-Date)"
Add-Content C:\Logs\app.log $msg

実行ログを残すときの定番パターンです。

🛠 よく使われる指定例

🔹 複数行をまとめて追記する

$lines = @(
  "----"
  "処理開始: $(Get-Date)"
  "結果: OK"
)
Add-Content C:\Logs\app.log $lines

配列を渡すと、1要素=1行として追記されます。

🔹 パイプラインの結果を追記する

Get-Service |
Select-Object Name, Status |
Add-Content C:\Logs\service.log

コマンドの実行結果を履歴として残せます。

💼 実務でよく使う使用例(応用)

🔹 実行ログを時系列で残す

Add-Content C:\Logs\run.log "[$(Get-Date)] スクリプト開始"
# 処理
Add-Content C:\Logs\run.log "[$(Get-Date)] スクリプト終了"

🔹 エラー発生時だけログに追記

try {
    # 処理
}
catch {
    Add-Content C:\Logs\error.log $_
}
組み合わせ例

  • Get-Date と組み合わせて時刻付きログ
  • try / catch でエラーログ管理
  • 定期処理・バッチの実行履歴保存

🧩 よくある勘違い・つまずきポイント

  • 上書きされると思って使うと内容が増え続ける
  • 改行を意識しないと読みづらくなる
  • 巨大ファイルになると処理が遅くなる
  • 文字コードの違いで問題が出る場合がある
  • バイナリファイルには不向き

🔄 cmdとの違いについて

cmd では リダイレクト(>>)を使いますが、
PowerShell の Add-Content
出力をオブジェクトとして安全に追記できます。

⚠ エラー・うまく動かないときの確認ポイント

  • 書き込み先フォルダが存在しているか
  • 書き込み権限があるか
  • 他プロセスがファイルを使用していないか
  • ファイルサイズが極端に大きくなっていないか

🧠 注意点

Add-Content は非常に便利ですが、
ログを無制限に追記し続けると
ファイルサイズが肥大化します。
定期的なローテーションや削除も
あわせて検討しましょう。

📌 まとめ

  • Add-Content はファイルに追記するコマンド
  • 既存内容は保持される
  • ログ・履歴管理に最適
  • Set-Content との使い分けが重要

🔎 PowerShellコマンドを探す

やりたいことからコマンドを探すこともできます。

  • ファイルに追記したい
  • ログを蓄積したい
  • 実行履歴を残したい
  • エラーログを保存したい
  • エラーや実行できない原因を調べたい
  • PowerShellでログ管理したい
  • 安全に書き込みたい
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る