[登録されているタグ]

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

PowerShellでファイルに書き込む|Set-Contentの使い方

📝 はじめに

PowerShellでログ出力や設定変更を行っていると、
「ファイルに結果を書き込みたい」
「既存ファイルの内容を上書きしたい」
「スクリプトの実行結果を保存したい」
という場面はとても多くあります。

そんなときに使うのが
Set-Content です。
ファイルに対して内容を書き込む(上書きする)ための基本コマンドです。

こんな場面で便利

  • ログファイルを新しく書き直したい
  • 設定ファイルの内容を更新したい
  • スクリプトの結果をファイルに保存したい

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

  • ファイルに文字列を書き込める
  • 既存ファイルの内容を上書きできる
  • ファイルが存在しなければ新規作成される
  • スクリプト結果の保存に使える

✅ Set-Content でできること

Set-Content は、
指定したファイルに対して
内容をそのまま書き込む(置き換える)コマンドです。

既存の内容はすべて消え、
新しい内容に完全に置き換えられます。

「初期化する」「最新状態を書き出す」
という用途に向いています。

🧩 基本構文

Set-Content ファイルパス 内容

内容には文字列や変数を指定できます。

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

🔹 ファイルに文字列を書き込む

Set-Content C:\Logs\result.txt "処理が完了しました"

result.txt が作成され、
内容が書き込まれます。

🔹 変数の内容を書き込む

$msg = "実行結果: OK"
Set-Content C:\Logs\status.txt $msg

スクリプト結果の保存によく使われます。

🛠 よく使われる指定例

🔹 複数行を書き込む

$lines = @(
  "1行目"
  "2行目"
  "3行目"
)
Set-Content C:\Logs\multi.txt $lines

配列を渡すと、1行ずつ書き込まれます。

🔹 パイプラインの結果を書き込む

Get-Process |
Select-Object Name, Id |
Set-Content C:\Logs\process.txt

コマンド結果をそのままファイルに保存できます。

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

🔹 ログファイルを毎回作り直す

Set-Content C:\Logs\app.log "ログ開始: $(Get-Date)"

🔹 設定ファイルを再生成する

$config = @(
  "mode=prod"
  "timeout=30"
)
Set-Content C:\App\config.ini $config
組み合わせ例

  • Get-Content で読み込み
  • Set-Content で書き戻し
  • 設定ファイルの更新処理

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

  • 既存内容はすべて上書きされる
  • 追記したい場合は使わない
  • 文字コードの違いで問題が出る場合がある
  • バイナリファイルには不向き
  • 意図せず重要ファイルを消すことがある

🔄 cmdとの違いについて

cmd では echo
リダイレクト(>)を使いますが、
PowerShell の Set-Content
出力をオブジェクトとして安全に書き込めるのが特徴です。

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

  • 書き込み先フォルダが存在しているか
  • 書き込み権限があるか
  • 他プロセスがファイルを使用していないか
  • 上書きして問題ないファイルか

🧠 注意点

Set-Content
内容を完全に上書きします。
追記したい場合は
Add-Content を使うなど、
用途に応じて使い分けましょう。

📌 まとめ

  • Set-Content はファイルに書き込む基本コマンド
  • 既存内容はすべて上書きされる
  • ログ・設定ファイル作成に便利
  • 追記用途では使わない

🔎 PowerShellコマンドを探す

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

  • ファイルに書き込みたい
  • ログを保存したい
  • 設定ファイルを更新したい
  • スクリプト結果を保存したい
  • エラーや実行できない原因を調べたい
  • PowerShellで自動化したい
  • 安全に上書きしたい
Generic filters

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

Generic filters


Generic filters

Generic filters

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