Supprimer automatiquement un dossier quotidiennement

Réponses:

18

Appplescript et iCal

Ouvrez Applescript et entrez le code suivant:

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

Remplacer le dossier par le dossier que vous souhaitez supprimer et enregistrez le fichier.

Si le dossier que vous souhaitez supprimer se trouve en dehors du répertoire personnel (par exemple le dossier / Users), remplacez la ligne de suppression par:

delete folder "Users" of startup disk

Ensuite, ouvrez iCal et créez un nouvel événement récurrent à l'heure que vous souhaitez et en tant qu'alarme, choisissez Exécuter le script et sélectionnez le script Apple que vous avez créé.


Cron

Ouvrez Terminal.app et entrez:

crontab -e

Là, au fichier ouvert, ajoutez la ligne suivante

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

en remplaçant le dossier / Users / USER / par le chemin complet de votre dossier et enregistrez le fichier.


Launchd

Créez un nouveau document texte et collez le code suivant:

rm -rf /Path/to/Folder

Appelons-le script.sh

En fonction de cet article , créez un autre nouveau document texte et collez ce qui suit:

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

Remplacez nuc par le nom d'utilisateur de votre compte et /path/to/script.sh par le chemin complet du script que nous avons créé à la première étape.

Enregistrez le fichier dans / Library / LaunchDaemons / sous my_rfd.plist .

Enfin, lancez Terminal.app et tapez:

launchctl load /Library/LaunchDaemons/my_rfd.plist
nuc
la source
Réponse vraiment sympa. +1 pour avoir donné deux explications.
moonglum
Le dossier n'est pas dans mon répertoire personnel - comment puis-je supprimer un dossier de la racine d'un disque dur nommé "Utilisateurs"?
Ryan
@ryan a modifié la réponse pour inclure votre demande.
NUC
Compte tenu de l'état futur inconnu de cron, ce serait merveilleux si vous ajoutiez une méthode launchd pour le faire également.
Jason Salaz
1
@vxjasonxv launchd way ajouté! :)
nuc
3

Hazel est une excellente application pour faire ce genre de chose. Ce n'est pas gratuit, mais cela fonctionne très bien.

Je l'utilise pour "étiqueter" ou mettre en évidence les fichiers qui ont été téléchargés au cours des dernières 24 heures, puis pour supprimer les fichiers de mon dossier de téléchargements qui ont plus de 7 jours.

Je l'ai ensuite vider ma poubelle une fois par mois.

Ce ne sont que les bases de ce qui peut être fait avec Hazel, c'est cool.

[Je n'ai aucun intérêt financier dans Hazel]

zevlag
la source
Merci - j'ai Hazel aussi. J'ai également posté là-bas en essayant de comprendre cela: bit.ly/dISt3G
Ryan