[登録されているタグ]

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

PowerShellでフォルダを削除する|Remove-Item -Recurse の使い方

📝 はじめに

PowerShellで作業をしていると、
「フォルダを丸ごと削除したい」
「中身が入ったままのフォルダを一括で消したい」
「一時フォルダや作業フォルダを後片付けしたい」
という場面は少なくありません。

そんなときに使われるのが
Remove-Item -Recurse です。
フォルダとその中身をまとめて削除できる非常に強力な操作です。

こんな場面で便利

  • 一時フォルダを丸ごと削除したい
  • 中身が空でないフォルダを消したい
  • 作業後の後片付けを自動化したい

✅ この操作でできること(要点)

  • フォルダを中身ごと削除できる
  • サブフォルダやファイルもすべて対象になる
  • スクリプトで一括削除処理ができる
  • 条件指定と組み合わせて自動整理が可能

✅ Remove-Item -Recurse でできること

Remove-Item
-Recurse オプションを付けることで、
指定したフォルダ配下のすべてのファイル・サブフォルダを含めて削除できます。

通常の Remove-Item では、
中身があるフォルダは削除できませんが、
-Recurse を使うことで制限が解除されます。

考え方としては「箱ごと中身を処分する」と覚えておくとよいでしょう。

🧩 基本構文

Remove-Item フォルダパス -Recurse

削除対象には必ずフォルダパスを指定します。

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

🔹 フォルダを中身ごと削除する

Remove-Item C:\Work\Temp -Recurse

Temp フォルダと、
その中のファイル・サブフォルダがすべて削除されます。
ごみ箱には入らず、元に戻せません。

🔹 削除前に動作確認する

Remove-Item C:\Work\Temp -Recurse -WhatIf

実際には削除せず、
「何が削除されるか」だけを確認できます。
スクリプトでは必須の確認方法です。

🛠 よく使われる指定例

🔹 読み取り専用ファイルも含めて削除

Remove-Item C:\Work\Temp -Recurse -Force

読み取り専用属性が付いたファイルがあっても削除されます。

🔹 エラーを表示せず削除する

Remove-Item C:\Work\Temp -Recurse -ErrorAction SilentlyContinue

すでに削除済みの場合などでも、
エラー表示を抑制できます。

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

🔹 一時フォルダの定期削除

Get-ChildItem C:\Temp -Directory |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
Remove-Item -Recurse

🔹 スクリプト終了時の後片付け

try {
    # 作業処理
}
finally {
    Remove-Item C:\Work\Temp -Recurse -ErrorAction SilentlyContinue
}
組み合わせ例

  • -WhatIf で事前確認
  • -Force で属性を無視
  • try / finally で確実に後処理

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

  • ごみ箱には入らず即削除される
  • -Recurse を付けると非常に危険
  • ワイルドカード指定で想定外の削除が起きやすい
  • -Force で保護されたファイルも消える
  • 管理者権限が必要な場合がある

🔄 cmdとの違いについて

cmd の rmdir /s に近い操作ですが、
PowerShell の Remove-Item -Recurse
オブジェクトとしてフォルダを扱える点が大きな違いです。

条件指定や事前確認がしやすく、安全に書けます。

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

  • 削除対象のフォルダパスが正しいか
  • ワイルドカード指定が広すぎないか
  • アクセス権限があるか
  • -WhatIf で事前確認したか

🧠 注意点

Remove-Item -Recurse
PowerShellの中でも特に破壊力の高い操作です。
手動実行でもスクリプトでも、
必ず -WhatIf を通してから実行する習慣をつけましょう。

📌 まとめ

  • Remove-Item -Recurse でフォルダを中身ごと削除できる
  • 削除後は元に戻せない
  • -WhatIf / -Force を適切に使うことが重要
  • 自動後処理や一時フォルダ整理に向いている

🔎 PowerShellコマンドを探す

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

  • フォルダを丸ごと削除したい
  • 一時フォルダを整理したい
  • 中身があるフォルダを消したい
  • スクリプトで後片付けしたい
  • エラーや実行できない原因を調べたい
  • 安全に削除処理を行いたい
  • 一括で整理したい
Generic filters

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

Generic filters


Generic filters

Generic filters

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