Excluir automaticamente uma pasta diariamente

Respostas:

18

Appplescript & iCal

Abra o Applescript e digite o seguinte código:

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

Substituindo a pasta pela pasta que você deseja excluir e salve o arquivo.

Se a pasta que você deseja excluir estiver fora do diretório inicial (por exemplo, a pasta / Usuários), substitua a linha de exclusão por:

delete folder "Users" of startup disk

Em seguida, abra o iCal e crie um novo evento recorrente na hora desejada e, como alarme, escolha Executar Script e selecione o AppleScript que você criou.


Cron

Abra Terminal.app e digite:

crontab -e

Lá, no arquivo aberto, adicione a seguinte linha

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

substituindo / Users / USER / folder pelo caminho completo da sua pasta e salve o arquivo.


Launchd

Crie um novo documento de texto e cole o seguinte código:

rm -rf /Path/to/Folder

Vamos chamá-lo de script.sh

Com base neste artigo , crie outro novo documento de texto e cole o seguinte:

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

Substitua nuc pelo nome de usuário da sua conta e /path/to/script.sh pelo caminho completo do script que criamos na primeira etapa.

Salve o arquivo em / Library / LaunchDaemons / como my_rfd.plist .

Por fim, inicie o Terminal.app e digite:

launchctl load /Library/LaunchDaemons/my_rfd.plist
nuc
fonte
Resposta muito boa. +1 por dar duas explicações.
moonglum
A pasta não está no meu diretório pessoal - como posso excluir uma pasta da raiz de um disco rígido chamada "Usuários"?
Ryan
@ryan resposta editada para incluir sua solicitação.
nuc
Considerando o estado futuro desconhecido do cron, seria maravilhoso se você adicionasse um método launchd para fazer isso também.
Jason Salaz
1
@vxjasonxv launchd way added! :)
nuc
3

Hazel é um ótimo aplicativo para fazer esse tipo de coisa. Não é gratuito, mas funciona muito bem.

Eu o uso para "Etiquetar" ou destacar arquivos que foram baixados nas últimas 24 horas e, em seguida, para excluir arquivos da minha pasta de downloads com mais de 7 dias.

Depois, esvazio meu lixo uma vez por mês.

Este é apenas o básico do que pode ser feito com Hazel, é legal.

[Não tenho interesse financeiro em Hazel]

zevlag
fonte
Obrigado - eu também tenho Hazel. Eu também postou lá tentando descobrir isso: bit.ly/dISt3G
Ryan