[登録されているタグ]

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

PowerShellで空フォルダを削除する|Get-ChildItem + Remove-Item の実用例

📝 はじめに

PowerShellでフォルダ整理やクリーンアップを行っていると、
「中身が空のフォルダだけ削除したい」
「不要になったディレクトリ構造をきれいにしたい」
「手作業で確認するのは面倒」
と感じることはありませんか?

そんなときに役立つのが、
Get-ChildItem
Remove-Item を組み合わせた
空フォルダ削除の実用テクニックです。

こんな場面で便利

  • バックアップ後の不要フォルダ整理
  • アプリ削除後に残った空フォルダの掃除
  • 定期的なメンテナンス作業

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

  • 空のフォルダだけを判別できる
  • 複数階層にまたがるフォルダを処理できる
  • 不要なフォルダだけを安全に削除できる
  • スクリプト化して自動実行できる

✅ Get-ChildItem + Remove-Item でできること

Get-ChildItem を使うと、
フォルダやファイルの一覧を取得できます。

その中から「中身が何もないフォルダ」だけを条件で抽出し、
Remove-Item で削除することで、
空フォルダだけをピンポイントで削除できます。

誤ってファイル入りのフォルダを消してしまうリスクを
抑えられるのが大きなメリットです。

🧩 基本構文

Get-ChildItem 対象パス -Directory |
Where-Object { (Get-ChildItem $_.FullName).Count -eq 0 } |
Remove-Item

空フォルダかどうかを判定したうえで削除します。

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

🔹 指定フォルダ直下の空フォルダを削除する

Get-ChildItem C:\Work -Directory |
Where-Object { (Get-ChildItem $_.FullName).Count -eq 0 } |
Remove-Item

このコマンドでエラーが出なければ、
空フォルダのみが削除されています。

🔹 削除せず、まず確認する(テスト)

Get-ChildItem C:\Work -Directory |
Where-Object { (Get-ChildItem $_.FullName).Count -eq 0 }

事前に確認することで、安心して次の操作に進めます。

🛠 よく使われる指定例

🔹 サブフォルダも含めて空フォルダを削除する

Get-ChildItem C:\Work -Directory -Recurse |
Where-Object { (Get-ChildItem $_.FullName).Count -eq 0 } |
Remove-Item

階層の深いフォルダ構造でもまとめて整理できます。

🔹 削除対象をログとして確認する

Get-ChildItem C:\Work -Directory -Recurse |
Where-Object { (Get-ChildItem $_.FullName).Count -eq 0 } |
Tee-Object -FilePath C:\Logs\empty_folders.txt |
Remove-Item

削除したフォルダを後から確認できます。

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

🔹 定期メンテナンスで空フォルダを整理

$target = "C:\Data"
Get-ChildItem $target -Directory -Recurse |
Where-Object { (Get-ChildItem $_.FullName).Count -eq 0 } |
Remove-Item

🔹 削除前に WhatIf で確認する

Get-ChildItem C:\Work -Directory -Recurse |
Where-Object { (Get-ChildItem $_.FullName).Count -eq 0 } |
Remove-Item -WhatIf
組み合わせ例

  • -Recurse で階層を一括処理
  • Tee-Object で削除ログ保存
  • -WhatIf で安全確認

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

  • 隠しファイルがあると空フォルダと判定されない
  • 権限不足で削除できない場合がある
  • フォルダ数が多いと処理に時間がかかる
  • 削除前の確認を省略してしまう
  • -Recurse の指定忘れ

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

  • 対象フォルダのパスが正しいか
  • 隠しファイルやシステムファイルが存在していないか
  • 管理者権限が必要な場所ではないか
  • -WhatIf を使って事前確認したか

🧠 注意点

空フォルダ削除は便利ですが、
処理対象を誤ると意図しない場所まで削除する可能性があります。
初めて実行する場合は、
-WhatIf
事前確認を必ず行いましょう。

📌 まとめ

  • Get-ChildItem でフォルダを列挙
  • 空フォルダだけを条件で抽出
  • Remove-Item で安全に削除
  • メンテナンス・整理作業に最適

🔎 PowerShellコマンドを探す

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

  • 空フォルダを削除したい
  • 不要なディレクトリを整理したい
  • フォルダ構造をきれいにしたい
  • 削除前に確認したい
  • エラーや実行できない原因を調べたい
  • PowerShellでメンテナンスしたい
  • 安全に削除したい
Generic filters

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

Generic filters


Generic filters

Generic filters

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