Как удалить всё содержимое в папке, но саму папку оставить?
Как удалить всё файлы, папки, ссылки в папке, но саму папку оставить? У меня есть временная папка temp и в неё я кладу файлы, а после работы с ними я хотел бы удалить всё содержимое. У меня есть файлы типо .zshrc temp.txt и так же папки с дочерними подпапками и скрытыми каталогами типо .config и так же есть обычные файлы типо info.txt temp.php и т.п. А также есть файл в имене которых есть две точки типо ..12 Как очистить всё это из папки temp ?? Я уже пробовал команду sudo rm -rf /home/temp/.* /home/temp/* /home/temp/*.* Но она не всегда срабатывает. Eсли в папке temp будет находится все типы перечисленных файлов тогда да, она сработает, но если же например только папка и всё, а остальных типов файлов не будет, то выдает это
no matches found: /home/temp/*.*
Хотя папка с подпапками существует даже после выполнения команды. Если же отдельно вручную удалять по каждой папке и по каждому файлу, тогда всё нормально удаляется. Что я делаю не так?
Отслеживать
задан 17 окт 2019 в 22:25
493 4 4 серебряных знака 17 17 бронзовых знаков
find /home/temp -delete
17 окт 2019 в 22:44
@AlexanderProkoshev тогда получится что и папка temp удалится, а мне нужно всё её содержимое удалить, а её оставить.
Как удалить папку, но оставить ее содержимое?
Напишу в режиме супер простого обьяснения, чтобы было понятно каждому пользователю!
Но на самом деле все просто, вот план действий:
- Откройте папку, содержимое которое вы хотите оставить, а саму папку — удалить.
- Теперь откройте другую директорию, например: мои документы, моя музыка, рабочий стол, диск D, любое место, куда можно поместить содержимое той папки, которую вы хотите удалить.
- Открыли место? Отлично. Теперь в этом месте нажмите правой кнопкой мышки по любому пустому пространству — выберите Создать и потом > Папку. Дайте название директории СОДЕРЖАНИЕ, и зайдите в нее.
- Теперь активируйте окно папки, которую вы хотите удалить. Внутри — выделите мышкой все то, что вы считаете содержанием (можно просто задать CTRL + A). Выделите > нажмите правой кнопкой > выберите СКОПИРОВАТЬ (или просто зажать CTRL + C).
- Теперь откройте директорию СОДЕРЖАНИЕ и по белому пустому пространству нажмите правой кнопкой мышки и выберите ВСТАВИТЬ (или нажать CTRL + V).
- Результат — начнется процесс копирования содержимого из папки, которую вы хотите удалить, в другую папку, которую вы так и назвали — СОДЕРЖАНИЕ. Длительность копирования зависит от количества файлов.
- После того как все скопировалось — папку, откуда вы копировали, то есть ту где было и осталось содержание (вы ведь просто копировали) — можно удалить вместе с содержанием, потому что вы его уже скопировали в директорию в другом месте, которая названа СОДЕРЖАНИЕ.

Если директория, откуда вы копировали, не хочет удаляться, вообще никак — используйте утилиту Unlocker.
Надеюсь что у меня получилось подробно описать и ответить на ваш вопрос)) Удачи и добра!
Как в Windows 10 удалить файлы, но оставить структуру папок
Создавать папки нетрудно, однако, если у вас имеется сложная структура каталогов, из которой нужно удалить все файлы, вряд ли вы захотите создавать ее заново, удалив ее перед этим вместе с файлами. Впрочем, удалить все файлы, сохранив при этом структуру директорий очень даже просто, причем сделать это можно как минимум тремя путями. Первый способ предполагает копирование имеющейся структуры с игнорированием ее содержимого.
Копирование структуры
Воспользуемся для этих целей встроенной консольной утилитой XCOPY. Предположим, что у нас есть папка Data с вложенными каталогами, в которых содержаться некие файлы, которые нужно удалить.
Создав пустую папку Data в другом месте, открываем PowerShell или командную строку и выполняем команду XCOPY «путь-к-папке-с-файлами «путь-к-пустой-папке» /T /E .

В результате в пустой каталог Data будет скопировано дерево папок первой папки Data , но уже без файлов. Естественно, первую папку можно удалить.
С помощью Total Commander
Если у вас есть файловый менеджер Total Commander, используем встроенную функцию вывода содержимого без каталогов.
Зайдите в программе в каталог с содержимым и нажмите Ctrl + B .

В результате все содержащиеся в нём файлы, в том числе те, которые находятся во вложенных каталогах, будут выведены в панели файлового менеджера. Готово, теперь вам останется их только выделить и удалить.

Папки при этом останутся на месте.
Рекурсивным методом в PowerShell
Почистить папки от файлов можно и с помощью PowerShell .
Для этого в запущенной консоли выполняем команду:
Get-ChildItem -Path «путь-к-папке» -Include *.* -File -Recurse | foreach

Этой командой мы рекурсивно проходим по каталогам, получаем список файлов и удаляем их. Удалены, однако, будут только те файлы, которые имеют расширение или точку в имени.
Приведенная здесь команда тем хороша, что позволяет удалять файлы по маске. Так, добавив к точке расширение TXT (*.txt*) , вы удалите только текстовые файлы с данным расширением. Но есть у нее и свой недостаток, — все файлы удаляются мимо Корзины, поэтому перед очисткой каталогов всё же рекомендуется создавать их резервные копии.
Удаление папки
Вы можете удалить любую папку, созданную в области папок. Помните, что при удалении папки также удаляются все ее данные.
Примечание: Если вы считаете, что эта папка (и ее содержимое) может потребоваться позже, перед удалением перед удалением заложите ее в файл данных.
- Щелкните правой кнопкой мыши папку, которая вы хотите удалить, и выберите удалить папку.

- Нажмите кнопку Да, чтобы переместить папку и ее содержимое в папку «Удаленные».
При удалении папки «Удаленные» все ее элементы, включая удаленные папки, окончательно удаляются.
Примечание: Встроенные папки, такие как «Входящие», «Из папки «Входящие» и «Отправленные», удалить нельзя.