Как автоматически очищать папку (например, «Загрузки») на регулярной/запланированной основе?

На телефоне Android есть папка, которая постоянно заполняется мусором.

Вместо регулярной очистки этой папки вручную, как я могу настроить способ автоматической очистки этой папки (например, удаление всего ее содержимого) на регулярной основе (например, ежедневно), чтобы освободить место?

Или есть (бесплатное) приложение, которое делает это?

Это очень простая задача, но я не могу найти способ или приложение, которое позволяет выбрать определенную папку (например, кроме cache) и автоматически очищать эту конкретную папку на регулярной основе, установленной пользователем.

Ответы (2)

MacroDroid (бесплатно до пяти макросов) может сделать эту работу.

Макрос будет:

  • Триггер : Триггер по дню/времени → выберите все дни и выберите время для активации триггера .
  • Действие : Операция с файлом → Удалить → выберите папку, которую необходимо очистить → Все файлы

    Изменить: {Здесь есть подвох. Если устройство не рутировано, будут удалены только файлы на верхнем уровне, т. е. удаление не будет рекурсивным, поэтому любой подкаталог останется нетронутым.

    Единственный вариант, который я нашел для рекурсивного уничтожения, — это удалить саму папку верхнего уровня. Поэтому вместо выбора « Все файлы» выберите « Папка » . }

  • Ограничение : нет

Сделанный!


Я предпочитаю использовать Tasker (платный; 7-дневная бесплатная пробная версия).

  • Профиль : Время

    • From : выберите время для триггера
    • Повтор : 24 часа
    • Кому : снять отметку
  • Задача : Файл

    • Удалить каталог : выберите или введите путь к каталогу.
    • Выберите рекурсию

    В качестве альтернативы действие может быть Код → Запустить оболочку → Команда :rm -rf <DIR_PATH>/*

    Замените <DIR_PATH>путь к каталогу, например, для DCIMпапки под sdcardвсей командой будетrm -rf /sdcard/DCIM/*

Это должно делать уборку каждые 24 часа.

Собственно MacroDroid не заработал, к сожалению. Я только что проверил папку, и содержимое все еще там. Я настроил его, как указано выше, он показал, что макрос был «активирован» 4 часа назад, но папки и файлы со вчерашнего дня все еще находятся в папке, которая была установлена ​​для удаления. Есть идеи?
В MacroDroid в разделе «Макросы» вы увидите свой макрос. Попробуйте выполнить его вручную (долгое нажатие -> Тестовые действия) и посмотрите, работает он или нет. Просто спрашиваю, активирован ли MacroDroid и отображается ли его значок в строке состояния?
Какой путь к папке?
Я снова проверил свой ответ. Работает, но с условием. У макроса не было проблем с удалением всех файлов в тестовой папке, /sdcard/test-g/но когда мой макрос был настроен на удаление «Все файлы» в качестве действия, удалялись только файлы, но не папки внутри него, если у него не было root-доступа. Чтобы удалить все, остается только выбрать действие «Папка» в разделе «Операции с файлами». Он точно удалит выбранную вами папку.
Проблема в том, что мне нужно, чтобы исходная папка осталась и только ее содержимое было удалено. Мне удалось найти грубый обходной путь, выполнив то, что вы описали в своем предыдущем комментарии, а затем настроив второй макрос, который запускается через 1 минуту и ​​снова воссоздает папку.
Мой телефон рутирован, и макрос MacroDroid не удаляется рекурсивно, если я не выберу папку. Также обратите внимание, что эта опция существует только для «Операции с файлом», а не для новой «Операции с файлом V2».

Используйте бесплатное программное обеспечение с открытым исходным кодом, чтобы обеспечить лучшую конфиденциальность. Я нашел Easer особенно хорошим. Однако для этой конкретной задачи, похоже, требуются права root.

  1. Загрузите магазин F-Droid и установите Easer .

  2. Получив приложение, откройте «Настройки» в панели приложений и отметьте «Использовать корневые функции». Затем перейдите в «Настройки» > «Активированные навыки» и убедитесь, что отмечены «Выполнить команды» и «Время».

  3. Теперь перейдите в «Данные» > «Событие» и добавьте новое событие «Время», указав время, когда вы хотите, чтобы файлы были удалены.

  4. Перейдите в «Данные» > «Профиль» и добавьте новый профиль «Выполнение команд». Добавьте в команду следующее:rm -rf <DIR-PATH>/*

  5. Перейдите в «Данные» > «Скрипт» и добавьте скрипт с профилем и событием, которые были созданы выше.

  6. Перейдите в «Контур» и нажмите «Пуск» в меню.

Вуаля, и наслаждайтесь!

Я следовал инструкциям abrac, но я не понимаю, как указать, какие папки я хочу очистить. Любая помощь?
Привет Жан. Допустим, вы хотите очистить папку «Загрузки». Путь к папке «Загрузки» — /sdcard/Downloads/. Вы бы поместили этот путь там, где я указал <DIR-PATH>на шаге 4. Теперь это имеет смысл?