空のフォルダを一括削除する方法(Windows 11・Mac)
空のフォルダを一括削除する方法を、コマンド プロンプト、PowerShell、Macのターミナルで解説します。削除してよい場所の見分け方、消えない原因(Thumbs.dbなど)、再発を防ぐ手順までまとめて解説します。
Windowsで空のフォルダを一括削除するには、コマンド プロンプトの1行で、選んだフォルダの中にある空のフォルダをすべて消せます。ファイルが残っているフォルダは削除されません。PowerShellならプレビューつきで同じことができ、Macではターミナルのコマンド1つで済みます。このガイドでは、削除してよいフォルダの見分け方、消えないフォルダの原因、再発を防ぐ方法も説明します。
空のフォルダがたまる理由
空のフォルダは、ほかの作業の置き土産です。
- サブフォルダからファイルを移動したり整理したりすると、元のフォルダだけが残ります。
- アーカイブをダウンロードフォルダに展開し、あとで中身を別の場所に移します。
- 写真やスマートフォンの取り込みで日付ごとのフォルダができ、ベストショットだけを残します。
- アンインストールしたプログラムが、フォルダの階層を置き去りにします。
- プロジェクトのテンプレートやスキャナが案件ごとにフォルダを作り、一部が使われないままになります。
空のフォルダがディスクを占める量はほとんどないので、片付けても数GBが空くことはありません。コストになるのは散らかりです。フォルダの一覧が長くなり、バックアップや検索結果にノイズが混ざります。日付フォルダが140個あり、そのうち90個が空のD:\Photos\Exportは、スクロールするだけでも面倒です。
空のフォルダを削除しても安全ですか?
自分のデータのフォルダの中なら安全です。ダウンロード、ドキュメント、写真の書き出し先、プロジェクトのアーカイブ、USBドライブなどです。
システムやプログラムのフォルダの中では安全ではありません。WindowsではC:\Windows、C:\Program Files、C:\ProgramData、AppData(%AppData%フォルダ)、Macでは~/Library、/System、/Applicationsには触れないでください。プログラムは、ログ、プラグイン、キャッシュなど、あるはずの空のフォルダを自分で作ります。削除するとプログラムが壊れるか、フォルダが再作成されます。
同期フォルダ(OneDrive、Dropbox、iCloud Drive、Google Drive)では、削除がほかの端末にも反映されます。
目安はこうです。以下のどの方法も、自分で作ったフォルダに向け、C:\のようなドライブの最上位には向けないでください。
空のフォルダを削除する4つの方法を比較
方法によって、安全策の有無と、自動で繰り返せるかどうかが違います。
| 方法 | 対応OS | 入れ子の空のフォルダを削除 | desktop.ini、Thumbs.db、DS_Storeだけが入ったフォルダ | 削除したフォルダの行き先 | 先にプレビュー | 自動で繰り返す |
|---|---|---|---|---|---|---|
コマンド プロンプト(rd) | Windows 10・11 | はい | 残る(空とみなされない) | 完全に削除 | いいえ | いいえ |
| PowerShell | Windows 10・11 | はい | 残る(空とみなされない) | 完全に削除 | はい(-WhatIf) | いいえ |
ターミナル(find) | macOS | はい | 残る(先にDS_Storeを削除した場合を除く) | 完全に削除 | はい(-deleteなしで実行) | いいえ |
| File Arbor(Pro) | WindowsとMac | はい | 削除される(これらのシステムファイルは数えない) | ごみ箱(Macではゴミ箱)、履歴に記録 | はい(最初の走査で内容を確認) | はい(スケジュール) |
「完全に削除」と聞くと不安になりますが、3つのコマンドが削除するのは中身が何もないフォルダだけなので、失うものはありません。
エクスプローラーで空のフォルダを探せますか?
一部はできます。エクスプローラーの検索には、サイズが「空」のものを探す条件があり、size:emptyと入力して使います。ただし、信頼できません。Windowsのバージョンによって結果が違い、一致する項目がないと表示される例があり、0バイトのファイルが一覧に混ざることもあります。
そのため、すべて選んでDeleteを押す使い方は避けてください。正確な一覧が必要なら、方法2のPowerShellのコマンドを-WhatIf付きで実行します。空のフォルダがすべて表示され、何も削除されません。
方法1:コマンド プロンプトで空のフォルダを削除する(Windows)
Windows 10と11で使え、自分のフォルダなら管理者権限は不要です。コマンド プロンプトを開き(スタートでcmdと入力してEnter)、D:\Photosを自分のフォルダに置き換えて実行します。
for /f "delims=" %d in ('dir "D:\Photos" /s /b /ad ^| sort /r') do rd "%d" 2>nul
この1行の仕組みです。
dir /s /b /adは、D:\Photosの下にあるサブフォルダをすべて列挙します。sort /rは深いフォルダを先に並べるので、空のサブフォルダが消えて空になったフォルダも、同じ回で削除されます。/sなしのrdは、空のフォルダだけを削除し、ファイル、隠しファイル、サブフォルダのどれかが入っていれば拒否します。この1行が安全なのはそのためです。2>nulは、その拒否のメッセージを隠します。D:\Photos自体は削除されません。
.batファイルに書くときは、%dを%%dにします。隠しフォルダの空のものも削除されます。このコマンドについては、Microsoftのrdのリファレンスで説明されています。
この1行はWindows 11で検証しました。入れ子の空のフォルダは1回で消え、ファイルや隠しのdesktop.iniが入ったフォルダは残りました。
方法2:PowerShellで空のフォルダを削除する(Windows 11・10)
最初にプレビューします。1行目に自分のフォルダを入れてください。
$root = "D:\Photos"
Get-ChildItem -LiteralPath $root -Directory -Recurse |
Sort-Object { $_.FullName.Length } -Descending |
Where-Object { -not (Get-ChildItem -LiteralPath $_.FullName -Force) } |
Remove-Item -WhatIf
空のフォルダごとに「What if:」の行が表示され、何も削除されません。一覧が正しければ、-WhatIfを外してもう一度実行します。
動作は次のとおりです。
- パスの長いものから並べるので、深いフォルダが先に処理され、空のフォルダの連なりも1回で消えます。
- 内側のチェックの
-Forceが隠しファイルを中身として数えるので、desktop.iniやThumbs.dbだけのフォルダは残ります。 - 隠しフォルダ自体には手を付けません。
プレビューに出るのは、いま空のフォルダだけです。空のフォルダしか入っていない親フォルダは一覧に載りませんが、実際の実行では同じ回で削除されます。
MicrosoftのRemove-Itemのリファレンスも参照してください。これはWindows 11のPowerShell 7で検証しました。
方法3:Macのターミナルで空のフォルダを削除する
アプリケーション → ユーティリティからターミナルを開きます。最初にプレビューします。
find ~/Pictures/Exports -mindepth 1 -type d -empty
一覧が正しければ、削除します。
find ~/Pictures/Exports -mindepth 1 -type d -empty -delete
-mindepth 1は、指定したフォルダ自体が空になっても残します。-deleteは深い階層から順に処理するので、入れ子の空のフォルダも1回で消えます。削除は完全削除で、ゴミ箱には何も入りません。macOSから、ターミナルにデスクトップ、書類、ダウンロードへのアクセスを許可するか尋ねられることがあります。許可してください。
DS_Storeの落とし穴
Finderは、開いたフォルダに隠しファイルの.DS_Storeを書き込むため、findはそのフォルダを空とみなしません。空として扱いたいときは、先にそのファイルを削除します。影響は、そのフォルダのFinderでの表示設定が初期化されるだけです。
find ~/Pictures/Exports -name .DS_Store -type f -delete
そのあとで、もう一度削除のコマンドを実行します。
方法4:File Arborで空のフォルダを自動で片付ける
上のコマンドは一度きりの作業です。あるフォルダから空のフォルダが出続けるなら、来週また片付けることになります。カメラの取り込み、展開したアーカイブでいっぱいのダウンロードフォルダ、毎日フォルダを作るスキャナは、どれもそうなります。File Arbor 1.3.3で、実行のたびに空のフォルダを片付けるオプションが加わりました。
設定はこうです。Proが必要です。
- ダウンロードページからFile Arborをインストールし、フォルダを追加をクリックして、フォルダを選びます。
- フォルダカードでサブフォルダも対象にするにチェックを入れます。実行を自分で押す手動モードと、スケジュールモードで使えます。
- 「サブフォルダのファイルをどう整理しますか?」の下で、空のフォルダをごみ箱に移動にチェックを入れます。
- フォルダに少なくとも1つルールを作ります。片付けはルールのあとで実行されるためです。たとえば、拡張子が次のファイルに
.jpgと.heicを指定し、移動先をAll photosにするルールです。その設定は、サブフォルダのファイルを1つのフォルダに移動する方法のガイドで示しています。 - 実行を押します。最初の走査を確認のダイアログに、対象のファイルとフォルダの数、走査の深さ、移動の例、そして「空のフォルダは、実行後にごみ箱へ移動されます。」の1行が表示されます。
- 繰り返したいときは、フォルダをスケジュールに切り替えます。たとえば平日の18:00です。
File Arborが空とみなすもの
.DS_Store、Thumbs.db、desktop.iniだけが入ったフォルダは、空とみなされます。それ以外のファイルは、隠しファイルも含め、フォルダを残します。- 監視フォルダ自体は必ず残ります。除外に指定したものと、その中身も残ります。
- 実行を途中でキャンセルすると、フォルダは1つも削除されません。
- 削除したフォルダは、履歴に空のフォルダとして一覧表示され、ごみ箱(Macではゴミ箱)から元に戻せます。
File Arborは、ドライブ全体の空のフォルダを1クリックで探す道具ではありません。整理の対象にしているフォルダを、実行の一部として片付けます。一度きりの片付けなら、方法1から3は無料で、十分に役立ちます。
無料プランは、監視フォルダ1つ、ルール2つ、1日20ファイルまで、手動実行です。サブフォルダの走査はありません。サブフォルダの走査とこの片付けはProの機能で、24.99ドルの買い切りです(料金)。すべてのオプションは、サブフォルダのドキュメントに載っています。
空のフォルダが削除できないのはなぜですか?
「空」なのに消えないフォルダは、ほぼ確実に空ではありません。次の原因を確認してください。
- 隠しファイルが入っている。WindowsにはThumbs.db(エクスプローラーのサムネイルのキャッシュ)やdesktop.iniがあり、Macには.DS_Storeがあります。隠しファイルを表示して(Windows 11:表示 → 表示 → 隠しファイル、Mac:Finderで⇧⌘.)、そのファイルを削除します。Thumbs.dbが原因のときは、これで消えるのが一般的です。
- どこかでフォルダが開かれている。エクスプローラーのウィンドウやプレビューウィンドウ、そのフォルダをカレントにしたコマンド プロンプト、ファイルのダイアログを開いたプログラムなどです。閉じてから、もう一度試します。
- 同期アプリがまだ処理している。OneDriveやDropboxなら、同期の完了を待つか、一時停止します。
- 権限がない。別のアカウントやインストーラが作ったフォルダです。そのアカウントか管理者として削除できますが、その前に、プログラムのものではないか確認してください。
- パスが長すぎる。古いWindowsの設定では、260文字を超えると失敗します。フォルダを1つ上の階層に移すか、名前を短くしてから削除します。
どの方法を選ぶべきですか?
- Windowsで一度きりの片付け:方法1、コマンド プロンプトの1行。
- 先に一覧を見たい:方法2、
-WhatIf付きのPowerShell。 - Macを使っている:方法3。Finderでそのフォルダを開いたことがあるなら、先に
.DS_Storeを削除します。 - 毎週いっぱいになるフォルダ、またはサブフォルダからファイルも移動したい:スケジュールモードのFile Arbor。
- システムやプログラムのフォルダ:どれも使いません。
もっと広い散らかりについては、パソコン全体の整理ガイドと、ファイルを自動でごみ箱に移動する方法を参照してください。
FAQ
Windows 11で空のフォルダを一括削除するにはどうすればよいですか
コマンド プロンプトを開き、サブフォルダをすべて列挙して深い階層から順に並べ、1つずつrdを実行するforループを使います。rdは/sを付けないと中身のあるフォルダを削除しないので、入れ子になった空のフォルダも含めて、空のものだけが1回で消えます。同じ1行がWindows 10でも使えます。実行前に、例のパスを自分のフォルダに置き換えてください。
空のフォルダを削除しても安全ですか
ダウンロード、ドキュメント、写真の書き出し先、USBドライブなど、自分で作ったフォルダの中なら安全です。システムやプログラムのフォルダの中では削除しないでください。WindowsならWindows、Program Files、ProgramData、AppData、Macならライブラリです。プログラムは、あるはずの空のフォルダを自分で作ります。OneDrive、Dropbox、iCloud Driveなどの同期フォルダでは、削除がほかの端末にも反映されます。
空のフォルダが削除できないのはなぜですか
多くの場合、隠しファイルが入っています。WindowsならThumbs.dbかdesktop.ini、Macなら.DS_Storeです。ほかの原因は、別のプログラムがフォルダを開いている、OneDriveなどの同期アプリが処理中、別のアカウントやインストーラが作ったために権限がない、古いWindowsの設定でパスが260文字を超えている、などです。隠しファイルを表示し、プログラムを閉じてから、もう一度試してください。
Macで空のフォルダを削除するにはどうすればよいですか
ターミナルを使います。フォルダ、-mindepth 1、-type d、-emptyを付けてfindを実行すると空のフォルダが一覧表示され、-deleteを加えると入れ子のものも含めて削除されます。削除は完全削除で、ゴミ箱には入りません。Finderは隠しファイルの.DS_Storeを書き込み、フォルダが空に見えなくなるため、先にそれを削除してください。Finderには空のフォルダの絞り込み機能はありません。
空のフォルダを自動で削除できますか
標準の設定ではできません。WindowsにもmacOSにも用意されていません。上のコマンドのどれかを実行するスクリプトを定期実行するか、File Arbor Proを使います。Proの空のフォルダをごみ箱に移動するオプションは、スケジュール実行を含め、実行のたびに空のフォルダを片付けます。削除したフォルダは履歴に一覧表示され、ごみ箱(Macではゴミ箱)から元に戻せます。
まとめ
一度きりなら、コマンド プロンプトの1行かターミナルのコマンドで1分で終わります。フォルダに空の殻が出続けるなら、スケジュール実行のFile Arborに、ファイルの整理と空のフォルダの片付けを任せましょう。
File Arborをダウンロードして、まず1つのフォルダで試してみてください。無料プランは、監視フォルダ1つ、ルール2つ、1日20ファイルまで、手動実行です。サブフォルダも対象にすると空のフォルダをごみ箱に移動はProの機能で、24.99ドルの買い切り、アップデートは生涯無料、30日間の返金保証つきです。プランの違いの全体は料金ページにあります。