Vacía la papelera de forma segura el día que tú decidas

10/02/2009 por Redacción

trash-empty.jpgOlvidarse con frecuencia de vaciar la papelera puede suponer que en momentos determinados te falte espacio en el disco duro (ocupado por esos archivos) o lo que es peor: los discos duros externos guardan los archivos que se han tirado a la papelera en una carpeta interna del disco, lo que supone que si lo desconectas del Mac, esos archivos ya inútiles siguen en el disco. Estarán en la papelera, pero siguen ocupando espacio. Para automatizar estas tareas dispones de Un script de Shell para vaciar los elementos antiguos de la papelera. o Un AppleScript para limitar el tamaño de la papelera, pero hay otras soluciones.

Aunque estos últimos Scripts muy útiles, podrías necesitar un script que lo hiciera en base al tiempo, pero que no opere cuando no sea necesario. Este requerimiento elimina estas aplicaciones también:

Compost

trashtimer

Trashtimer tiene un proceso constante de fondo, y Compost no solo tiene un proceso, sino que además no es gratuito. Por lo que decidí escribir mi propio script.

Este script solo se ejecutará cuando borras un archivo, y no es muy complicado. Borra de manera segura los archivos de la papelera tras siete días (o cuantos elijas). Éste es el código.

on adding folder items to this_folder after receiving added_items
try
-- Set number of days to wait
-- Change this to the number of days you want (cambia debajo la cantidad de días necesarios para vaciar la papelera)
set time_diff to 7

-- Touch all incoming items to update the modified date to now
repeat with i from 1 to the number of items in the added_items
set a_file to item i of added_items
set sh_script to "touch " & quoted form of (POSIX path of a_file)
do shell script sh_script
end repeat

set trash_files to (list folder this_folder without invisibles)
-- Set variable "use_date" to the current date to be a little bit more efficient when working with many files
set use_date to (current date) - time_diff * days

-- Search through the trash and delete files that are there longer than 7 days
repeat with i from 1 to the count of trash_files
set a_file to alias ((this_folder as text) & (item i of trash_files))
if the (modification date of (info for a_file)) comes before use_date then
-- "srm -sf" deletes files in a secure way in "simple mode" use "man srm" if you want different modes
set sh_script to "srm -sf " & quoted form of (POSIX path of oldest_file)
do shell script sh_script
end if
end repeat
end try
end adding folder items to

Guarda el código como un script en la carpeta /Users -> nombre_de_usuario -> Library -> Scripts -> Folder Action Scripts, y después abre la configuración de carpetas de la aplicación y agrega la carpeta ~/.Trash como una carpeta de acción y agrega el script.

Fuente: Mac OS X Hints

Comentarios

  • avatar
    #1 Anónimo el 10/02/2009
    Desde hace algún tiempo no puedo vaciar la papelera me aparece un fichero muy raro ( ␀␀␀␀␀.␀␀␀ ) ese es el nombre??? no sé de donde me ha venido pero??? el caso es que he hecho de todo lo que sale por la red y nada. ¿alguien conoce este problema ? y como resolverlo?
    Gracias por adelantado

    Juan
  • avatar
    #2 Anónimo el 10/02/2009
    Yo vacío la papelera con suma facilidad, pero hay dos ficheros, autorun.inf y y82y3td.com que no se pueden eliminar. Además mi MacBook se está quedando sin memoria y a veces consume demasiados recursos lo que me fuerza a cerrar forzosamente las aplicaciones : (

Escribe un comentario

Regístrate o identifícate para poder comentar