Löschen Sie einen Ordner täglich automatisch

Antworten:

18

Appplescript & iCal

Öffnen Sie Applescript und geben Sie den folgenden Code ein:

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

Ersetzen Sie den Ordner durch den Ordner, den Sie löschen möchten, und speichern Sie die Datei.

Wenn sich der Ordner, den Sie löschen möchten, außerhalb des Ausgangsverzeichnisses befindet (z. B. der Ordner / Benutzer), ersetzen Sie die Löschzeile durch:

delete folder "Users" of startup disk

Öffnen Sie dann iCal und erstellen Sie zum gewünschten Zeitpunkt ein neues wiederkehrendes Ereignis. Wählen Sie als Alarm " Skript ausführen" und wählen Sie das von Ihnen erstellte Applescript aus.


Cron

Öffnen Sie Terminal.app und geben Sie Folgendes ein:

crontab -e

Fügen Sie dort zu der geöffneten Datei die folgende Zeile hinzu

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

Ersetzen Sie den Ordner / Users / USER / durch den vollständigen Pfad Ihres Ordners und speichern Sie die Datei.


Gestartet

Erstellen Sie ein neues Textdokument und fügen Sie den folgenden Code ein:

rm -rf /Path/to/Folder

Nennen wir es script.sh

Erstellen Sie basierend auf diesem Artikel ein weiteres neues Textdokument und fügen Sie Folgendes ein:

<?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>

Ersetzen Sie nuc durch den Benutzernamen Ihres Kontos und /path/to/script.sh durch den vollständigen Pfad des Skripts, das wir im ersten Schritt erstellt haben.

Speichern Sie die Datei in / Library / LaunchDaemons / als my_rfd.plist .

Starten Sie abschließend Terminal.app und geben Sie Folgendes ein:

launchctl load /Library/LaunchDaemons/my_rfd.plist
nuc
quelle
Wirklich schöne Antwort. +1 für zwei Erklärungen.
Moonglum
Der Ordner befindet sich nicht in meinem Ausgangsverzeichnis. Wie kann ich einen Ordner aus dem Stammverzeichnis einer Festplatte mit dem Namen "Benutzer" löschen?
Ryan
@ryan bearbeitete Antwort, um Ihre Anfrage einzuschließen.
Nuc
In Anbetracht des unbekannten zukünftigen Zustands von Cron wäre es wunderbar, wenn Sie auch eine Startmethode hinzufügen würden, um dies zu tun.
Jason Salaz
1
@vxjasonxv Launchd Weg hinzugefügt! :)
nuc
3

Hazel ist eine großartige App für solche Dinge. Es ist nicht kostenlos, aber es funktioniert großartig.

Ich benutze es, um Dateien zu "beschriften" oder hervorzuheben, die in den letzten 24 Stunden heruntergeladen wurden, und um dann Dateien aus meinem Download-Ordner zu löschen, die älter als 7 Tage sind.

Ich habe dann einmal im Monat meinen Müll leer.

Dies sind nur die Grundlagen dessen, was mit Hazel gemacht werden kann. Es ist cool.

[Ich habe kein finanzielles Interesse an Hazel]

Zevlag
quelle
Danke - ich habe auch Hazel. Ich habe auch dort gepostet, um das herauszufinden: bit.ly/dISt3G
Ryan