もくじ
📝 はじめに
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コマンドを探す
やりたいことからコマンドを探すこともできます。
- フォルダを丸ごと削除したい
- 一時フォルダを整理したい
- 中身があるフォルダを消したい
- スクリプトで後片付けしたい
- エラーや実行できない原因を調べたい
- 安全に削除処理を行いたい
- 一括で整理したい
