¿Cómo eliminar periódicamente archivos con una antigüedad superior a cierto tiempo en Windows?

¿Cómo eliminar periódicamente archivos con una antigüedad superior a cierto tiempo en Windows?

Quiero realizar un proceso programado en Windows (específicamente, Windows 7) que cada 3 horas elimine todos los archivos en todas las carpetas con más de 24 horas (como el hallazgo de Unix -mtime +1). Básicamente, el equivalente de Windows de tener esto configurado en mi cron de Unix:

find $TRANSITDIR -mtime +1 -exec rm -rf {} \;

Aunque parece que he descubierto que el equivalente cron de Windows es elplanificador, Simplemente no conozco los comandos de Windows para hacer eso.

¿Alguien tiene un script de programación listo para usar?

Respuesta1

Cree un archivo por lotes con el siguiente contenido:

REM Remove files older than 1 day
forfiles /p %1 /s /m * /c "cmd /c del @path /q" /d -1

Luego abra el Programador de tareas de Windows. Cree una tarea básica para ejecutar un programa y, como argumento, proporcione la ruta a la carpeta entre comillas.

Explicación de comandos.

REMes un comentario.

forfilesejecutará un comando para cada archivo. /p %1define en qué ruta se encuentran los archivos ( %1significa el valor del primer argumento de la línea de comando pasado al script). /ses recursivo (va a subcarpetas). /m *.*es la máscara del nombre del archivo. /c "cmd /c del @path"especifica qué comando ejecutar. /d -1significa archivos de más de 1 día.

En este caso, cmd /c del @pat /qhcrea una nueva sesión y ejecuta del(elimina el archivo) en @pathla ruta del archivo para cada archivo iterado por forfiles. /qes para modo silencioso, para queno te pide que confirmes los directorios.

Pruebas

Reemplazar delcon echo. Esto imprimirá cada archivo que se habría eliminado, en lugar de eliminarlo realmente.

Respuesta2

No es exactamente lo que quieres hacer, pero diría que vale la pena tener en cuenta las eliminaciones automáticas de ccleaner cuando se habla de Windows. Lo uso para buscar y limpiar archivos tmp para máquinas con Windows.

Tiene una CLI limitadahttp://www.piriform.com/docs/ccleaner/advanced-usage/command-line-parameters#Command-line_parameters_for_CCleaner_

También siempre que seas un tipo shell y hayas dicho que lo necesitas para W7, puedes probar powershell:

http://www.google.es/search?q=powershell+eliminar+x+día+archivos+más antiguos

información relacionada