Как удалить пустые папки в Windows 11 и на Mac (4 способа)
Как удалить пустые папки в Windows 11 и на Mac: командная строка, PowerShell, Терминал и File Arbor. Что можно удалять и как не дать пустым папкам вернуться.
Чтобы удалить пустые папки в Windows, достаточно одной строки в командной строке: она убирает все пустые папки внутри выбранной и отказывается трогать всё, где ещё лежит файл. PowerShell делает то же с предпросмотром, а на Mac хватит одной команды в Терминале. Ниже также разобрано, что безопасно удалять, почему некоторые папки не уходят и как не дать им вернуться.
Почему копятся пустые папки
Пустые папки остаются после других дел:
- Вы раскладываете или перемещаете файлы из вложенных папок, а сами папки остаются на месте.
- Вы распаковываете архивы в «Загрузки», а потом переносите содержимое в другое место.
- Импорт с фотоаппарата или телефона создаёт папку на каждый день, а вы оставляете только лучшие кадры.
- Удалённая программа оставляет после себя дерево папок.
- Шаблон проекта или сканер создаёт папку на каждую работу, и часть папок так и не используется.
Места на диске они занимают почти столько же, сколько ничего, поэтому очистка не освободит гигабайты. Цена другая: беспорядок, более длинные списки папок и шум в резервных копиях и результатах поиска. Папку D:\Photos\Export со 140 вложенными папками по датам, из которых 90 пусты, неприятно прокручивать.
Безопасно ли удалять пустые папки?
Да, внутри ваших собственных папок с данными: «Загрузки», «Документы», экспорт фотографий, архивы проектов, флешка.
Нет, внутри системных и программных папок. Не трогайте C:\Windows, C:\Program Files, C:\ProgramData и AppData (папка %AppData%) в Windows, а также ~/Library, /System и /Applications на Mac. Программы создают пустые папки, которые рассчитывают найти: для журналов, плагинов, кэшей. Удаление такой папки может сломать программу, либо программа при следующем запуске создаст её заново.
В синхронизируемой папке (OneDrive, Dropbox, iCloud Drive, Google Drive) удаление синхронизируется на другие ваши устройства.
Практическое правило: направляйте каждый способ ниже на папку, которую создали вы, и никогда на корень диска вроде C:\.
4 способа удалить пустые папки: сравнение
Способы различаются страховкой и тем, умеют ли они повторяться сами.
| Способ | Где работает | Удаляет вложенные пустые папки | Папка, где лежит только 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 | Да | Удаляется, эти системные файлы не считаются | Корзина, запись в «Истории» | Да, первое сканирование показывает, что произойдёт | Да, по расписанию |
«Удаляются окончательно» звучит тревожно, но три команды убирают только папки, в которых ничего нет, так что терять внутри нечего.
Может ли Проводник найти пустые папки?
Частично. В поиске Проводника есть фильтр по размеру для пустых файлов, его можно ввести как size:empty. Полагаться на него нельзя. Результаты различаются в разных версиях Windows, у некоторых вместо списка появляется сообщение, что ничего не найдено, а в список могут попасть файлы нулевого размера.
Выделить всё из этого списка и нажать Delete нельзя. Точный список даёт команда PowerShell из способа 2 с -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
Как работает строка:
dir /s /b /adперечисляет все вложенные папки внутриD:\Photos.sort /rставит самые глубокие папки первыми, поэтому папка, опустевшая после удаления пустой вложенной, уходит в том же проходе.rdбез/sудаляет только пустую папку и отказывается трогать ту, где что-то есть: файл, скрытый файл, вложенная папка. Именно поэтому строка безопасна.2>nulскрывает эти отказы. СамаD:\Photosне удаляется никогда.
В файле .bat пишите %%d вместо %d. Скрытые пустые папки тоже удаляются. Команда описана в справочнике Microsoft по rd.
Мы проверили эту строку в Windows 11: вложенные пустые папки ушли за один проход, а папки с файлом или со скрытым desktop.ini остались.
Способ 2: как удалить пустые папки через PowerShell (Windows 11 и 10)
Сначала предпросмотр, в первой строке поставьте свою папку:
$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.
Что она делает:
- Сортирует пути от самых длинных, поэтому самые глубокие папки уходят первыми и цепочки пустых папок исчезают за один запуск.
-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 идёт от самого глубокого уровня вверх, поэтому вложенные пустые папки уходят за один запуск. Удаление окончательное: в Корзину ничего не попадает. 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 со страницы загрузки, нажмите Добавить папку и выберите папку.
- Отметьте Сканировать вложенные папки на карточке папки. Это работает в режиме Ручной, где вы сами нажимаете Запустить, и в режиме По расписанию.
- Под вопросом «Как должны быть организованы файлы из вложенных папок?» отметьте Перемещать пустые папки в корзину.
- Добавьте для папки хотя бы одно правило, потому что очистка выполняется после правил. Например, правило Файлы с расширением
.jpgи.heicс Перемещает вAll photos. Такую настройку показывает руководство о том, как переместить файлы из подпапок. - Нажмите Запустить. Диалог Подтвердить первое сканирование покажет, сколько файлов и папок затронуто, как глубоко дошло сканирование, примеры перемещений и строку «После запуска пустые папки перемещаются в корзину.»
- Чтобы повторять это, переключите папку в режим По расписанию, например по будням в 18:00.
Что File Arbor считает пустым
- Папка, где лежит только
.DS_Store,Thumbs.dbилиdesktop.ini, считается пустой. Любой другой файл, в том числе скрытый, оставляет папку. - Отслеживаемая папка всегда остаётся, как и Исключения со всем, что в них лежит.
- Отменённый запуск не удаляет ни одной папки.
- Каждая убранная папка записывается в Историю как Пустая папка, и вы возвращаете её из Корзины.
File Arbor не умеет одним щелчком находить все пустые папки на диске. Он чистит те папки, которые упорядочивает, в составе запуска. Для разовой очистки способы 1–3 бесплатны и справляются.
Бесплатный план — одна отслеживаемая папка, два правила, до 20 файлов в день, ручной запуск. Сканирования вложенных папок в нём нет. Сканирование вложенных папок и эта очистка входят в Pro: $24.99 разово (цены). Все параметры перечислены в документации о вложенных папках.
Почему не удаляется пустая папка?
«Пустая» папка, которая не уходит, почти никогда не пуста. Проверьте такие причины:
- Внутри скрытый файл. Windows хранит там
Thumbs.db(кэш миниатюр Проводника) илиdesktop.ini, а Mac —.DS_Store. Покажите скрытые элементы (Windows 11: Просмотр → Показать → Скрытые элементы; Mac: ⇧⌘. в Finder) и удалите файл. - Папка где-то открыта. Окно Проводника или панель просмотра, командная строка, у которой это текущая папка, или программа с открытым диалогом выбора файла. Закройте и повторите.
- Приложение синхронизации ещё работает с ней. В OneDrive или Dropbox дождитесь конца синхронизации или поставьте её на паузу.
- Права доступа. Папку создал другой пользователь или установщик. Удалите её от имени этого пользователя или администратора, но сначала подумайте, не принадлежит ли она программе.
- Слишком длинный путь. В старых настройках Windows путь длиннее 260 символов не обрабатывается. Поднимите папку на уровень выше или сократите имя, затем удаляйте.
Какой способ выбрать?
- Разовая очистка в Windows: способ 1, строка командной строки.
- Хотите сначала увидеть список: способ 2, PowerShell с
-WhatIf. - Вы на Mac: способ 3, и сначала удалите
.DS_Store, если Finder открывал эти папки. - Папка, которая каждую неделю заполняется снова, или вы заодно перемещаете файлы из вложенных папок: File Arbor в режиме По расписанию.
- Системные или программные папки: ни один из способов.
О более общем беспорядке читайте в руководстве по полной разборке файлов на компьютере и о том, как автоматически перемещать файлы в Корзину.
FAQ
Как удалить все пустые папки сразу в Windows 11?
Откройте командную строку и выполните цикл for, который перечисляет все вложенные папки, сортирует список так, чтобы самые глубокие шли первыми, и вызывает rd для каждой. Поскольку rd без /s отказывается удалять папку, в которой что-то лежит, за один проход уходят только пустые папки, включая вложенные цепочки. Та же строка работает в Windows 10. Сначала замените пример пути на свою папку.
Безопасно ли удалять пустые папки?
Да, внутри папок, которые создали вы сами: «Загрузки», «Документы», экспорт фотографий или флешка. Нет, внутри системных и программных папок: Windows, Program Files, ProgramData, AppData в Windows и Library на Mac. Программы создают пустые папки, которые рассчитывают найти. В синхронизируемой папке, например OneDrive, Dropbox или iCloud Drive, удаление синхронизируется на другие ваши устройства.
Почему не удаляется пустая папка?
Чаще всего внутри лежит скрытый файл: Thumbs.db или desktop.ini в Windows, .DS_Store на Mac. Другие причины: папка открыта в другой программе, приложение синхронизации вроде OneDrive ещё работает с ней, не хватает прав, потому что папку создал другой пользователь или установщик, либо путь длиннее 260 символов в старых настройках Windows. Покажите скрытые элементы, закройте программу и повторите.
Как удалить пустые папки на Mac?
Используйте Терминал. Выполните find с указанием папки, -mindepth 1, -type d и -empty, чтобы вывести список пустых папок, затем добавьте -delete, чтобы удалить их вместе с вложенными. Удаление окончательное, в Корзину ничего не попадает. Finder создаёт скрытые файлы .DS_Store, из-за которых папки не выглядят пустыми, поэтому сначала удалите их. У самого Finder нет фильтра пустых папок.
Можно ли удалять пустые папки автоматически?
Встроенной настройки для этого нет ни в Windows, ни в macOS. Можно запускать по расписанию сценарий с одной из команд выше или использовать File Arbor Pro, где параметр «Перемещать пустые папки в корзину» убирает их после каждого запуска, в том числе запусков по расписанию. Каждая убранная папка попадает в «Историю», и её можно вернуть из Корзины.
Итог
Для разовой очистки хватит строки командной строки или команды Терминала, это минута. Когда папка снова и снова обрастает пустыми оболочками, пусть запуск File Arbor по расписанию раскладывает файлы и убирает папки в Корзину.
Скачайте File Arbor и попробуйте на одной папке. Бесплатный план — одна отслеживаемая папка, два правила, до 20 файлов в день, ручной запуск. Сканировать вложенные папки и Перемещать пустые папки в корзину входят в Pro: $24.99 разово, бесплатные обновления навсегда и возврат денег в течение 30 дней; полное разделение возможностей есть на странице цен.