Автоматически удалять папку ежедневно

Ответы:

18

Appplescript и iCal

Откройте Applescript и введите следующий код:

tell application "Finder"
  delete folder "folder" of home
end tell

Замените папку папкой, которую хотите удалить, и сохраните файл.

Если папка, которую вы хотите удалить, находится вне домашней директории (например, папка / Users), замените строку удаления на:

delete folder "Users" of startup disk

Затем откройте iCal и создайте новое повторяющееся событие в нужное время, а в качестве сигнала будильника выберите « Запустить сценарий» и выберите созданный вами сценарий apple.


Cron

Откройте Terminal.app и введите:

crontab -e

Там к открытому файлу добавьте следующую строку

0    4       *       *       *       rm -rf /Users/USER/folder

заменив папку / Users / USER / на полный путь к папке и сохраните файл.


запуск программ

Создайте новый текстовый документ и вставьте следующий код:

rm -rf /Path/to/Folder

Давайте назовем это script.sh

На основе этой статьи создайте еще один новый текстовый документ и вставьте следующее:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>Recurring Folder Deletion</string>
  <key>UserName</key>
  <string>nuc</string>
  <key>Program</key>
  <string>/path/to/script.sh</string>
  <key>StartCalendarInterval</key>
  <dict>
    <key>Minute</key>
    <integer>0</integer>
    <key>Hour</key>
    <integer>4</integer>
  </dict>
  <key>Debug</key>
  <false/>
  <key>AbandonProcessGroup</key>
  <true/>
</dict>
</plist>

Замените nuc именем пользователя вашей учетной записи, а /path/to/script.sh - полным путем к скрипту, который мы создали на первом шаге.

Сохраните файл в / Library / LaunchDaemons / как my_rfd.plist .

Наконец, запустите Terminal.app и введите:

launchctl load /Library/LaunchDaemons/my_rfd.plist
пис
источник
Действительно хороший ответ. +1 за два объяснения.
мая
Папка не находится в моем домашнем каталоге - как я могу удалить папку из корня жесткого диска с именем «Пользователи»?
Райан
@ryan отредактировал ответ, чтобы включить ваш запрос.
nuc
Учитывая неизвестное будущее состояние cron, было бы замечательно, если бы вы добавили метод launchd для этого.
Джейсон Салаз
1
Добавлено @vxjasonxv launchd способ! :)
nuc
3

Hazel - отличное приложение для подобных вещей. Это не бесплатно, но прекрасно работает.

Я использую его для «метки» или выделения файлов, которые были загружены за последние 24 часа, а затем для удаления файлов из папки загрузок, которые старше 7 дней.

Затем я раз в месяц очищаю свой мусор.

Это только основы того, что можно сделать с Хейзел, это круто.

[У меня нет финансовой заинтересованности в Хейзел]

zevlag
источник
Спасибо, у меня тоже есть Хейзел. Я также написал там, пытаясь выяснить это: bit.ly/dISt3G
Райан