Borrado automático y programado de ficheros en función de su fecha de creación
Gracias al script que os voy a explicar a continuación podréis borrar fácilmente ficheros en función de su fecha de creación. Incluso programar esos borrados para que se hagan con la periodicidad que queráis
En mi caso administro algunos servidores que tienen aplicaciones que generan logs diarios. Estos logs, si se generan descontroladamente, pueden llegar a llenar el disco y dejar el sistema completamente colgado. Me interesaba programar borrados de los logs más antiguos para mantener un histórico de logs de 6 meses en lugar de uno infinito.
La mejor solución que he encontrado pasa por descargarse un fichero del Kit de recursos de Microsoft Technet. Se trata de una utilidad llamada forfiles.exe que permite, mediante parámetros, filtrar por fecha los ficheros de un determinado directorio y aplicar una acción a ese filtrado. Por ejemplo la eliminación de esos ficheros.
El fichero en cuestión se puede descargar del siguiente enlace: forfiles.exe
Un ejemplo de comando que borrarÃa los ficheros con 180 (seis meses) dÃas o más de antigüedad serÃa: C:\carpeta en la que está el exe\forfiles -pC:\carpeta que contiene los ficheros a borrar\ -m*.log -d-180 -c”CMD /C del @FILE”
En el ejemplo estamos borrando únicamente los ficheros con extensión .log. En caso de querer borrar cualquier fichero simplemente tendrÃamos que poner *.*
Si creais un fichero .bat con el siguiente contenido:
@echo off
rem se eliminan logs con más de 180 dÃas de antigüedad.
C:\carpeta en la que está el exe\forfiles -pC:\carpeta que contiene los ficheros a borrar\ -m*.log -d-180 -c”CMD /C del @FILE”
Lo podéis meter en una tarea programada de Windows y hacer que se ejecute cada X tiempo para mantener el crecimiento de esa carpeta controlado.
Si ejecutáis el fichero forfiles.exe con el parámetro /? obtendréis más ejemplos de uso de esta utilidad.
Por favor, si te ha gustado este artículo puntúalo pulsando sobre las estrellas.
3,564 veces visto

(36 votos, puntuación total: 4.69 de 5)
Miguel Rubio dijo,
Escrito el 2 Octubre, 2008 @ 10:52 am
Mozilla Firefox 3.0 en
Windows XP
Usando
Util. Por cierto, 10.43.99.169. NO la 2.
David dijo,
Escrito el 2 Octubre, 2008 @ 12:39 pm
Internet Explorer 6.0 en
Windows XP
Usando
jeje gracias gracias. SÃ. Esa IP tiene mi firma. Suelo usar el 69…. no sé… me gusta
Por cierto tengo que darte la razón en una cosa. Iron Man no está mal. La vi el otro dÃa y me gustó.
Miguel Rubio dijo,
Escrito el 2 Octubre, 2008 @ 1:22 pm
Mozilla Firefox 3.0 en
Windows XP
Usando
Yo siempre tengo la razón.
Roger dijo,
Escrito el 5 Febrero, 2009 @ 5:24 pm
Mozilla Firefox 3.0.6 en
Windows XP
Usando
Muy util.
Me servirá mucho en los servidores de mi curro.
Saludos!
Jose Manuel Gomez dijo,
Escrito el 7 Marzo, 2009 @ 1:31 pm
Mozilla Firefox 3.0.6 en
Windows XP
Usando
Tienes algo para copiar en vez de borrar.
David dijo,
Escrito el 20 Marzo, 2009 @ 3:33 pm
Internet Explorer 6.0 en
Windows XP
Usando
Hola Jose Manuel. Para copiar en lugar de borrar es tan simple como cambiar el comando “del” por el comando “copy” y luego indicarle la ruta de destino.
C:\carpeta en la que está el exe\forfiles -pC:\carpeta que contiene los ficheros a borrar\ -m*.log -d-180 -câ€CMD /C copy @FILE carpeta_destinoâ€
Donde la sintaxis de “carpeta_destino” serÃa por ej c:\destino (recuerda poner la unidad)
Si además quieres cambiar el nombre con el que se guarda el fichero en el destino pudes hacerlo añadiendo ese nombre después de la carpeta destino.
Manuel GarcÃa dijo,
Escrito el 27 Abril, 2009 @ 11:42 am
Internet Explorer 7.0 en
Windows XP
Usando
Me viene perfecto para una instalación. Gracias.
David Ornelas dijo,
Escrito el 28 Abril, 2009 @ 8:21 pm
Opera 9.25 en
Windows Server 2003
Usando
Que tal, antes que nada gracias por el aporte, pero detecté un detalle con las fechas, que esta considerando en el archivo la fecha mas 5 horas. Es decir, si el archivo tiene fecha 25/04 a las 6 pm lo considera como 25/04 11 pm, el problema esta en que si el archivo fue creado después de las 7 pm ya lo toma como si fuera del 26/04. Sabes como arreglarlo o si tiene la funcionalidad para indicar alguna acción despues de ciertas “horas”??.
Gracias
David dijo,
Escrito el 29 Abril, 2009 @ 7:00 pm
Mozilla Firefox 3.0.9 en
Windows XP
Usando
David pues desconozco las opciones aplicables a las horas pero me da que esta utilidad sólo afecta a dÃas y no a horas. Me parece bastante extraño lo que comentas. Mira en la web de los recursos técnicos de Microsoft ya que son ellos quien han creado la herramienta. Igual no han detectado el bug que comentas.
David dijo,
Escrito el 29 Abril, 2009 @ 7:01 pm
Mozilla Firefox 3.0.9 en
Windows XP
Usando
Manuel me alegro de que te haya sido de utilidad
Silvia dijo,
Escrito el 18 Mayo, 2009 @ 7:41 pm
Mozilla Firefox 3.0.10 en
Windows XP
Usando
Me ha sido muy útil; sin embargo, no sé como conseguir que funcione cuando el nombre de fichero a borrar contiene espacios en el nombre.
En ese caso, me borra los demás, pero no estos últimos.
Sustituyendo “del” por “echo” sà muestra el nombre completo del fichero, pero “del” parece que únicamente coge hasta antes del primer espacio.
:S
Pablo dijo,
Escrito el 26 Mayo, 2009 @ 4:05 pm
Mozilla Firefox 3.0.10 en
Windows 2000
Usando
La verdad muy bueno me sirvió para lo que necesitaba hacer en el trabajo
Saludos
David dijo,
Escrito el 26 Mayo, 2009 @ 6:40 pm
Mozilla Firefox 3.0.10 en
Windows XP
Usando
Me alegro de que te haya sido de utilidd Pablo
David dijo,
Escrito el 26 Mayo, 2009 @ 6:41 pm
Mozilla Firefox 3.0.10 en
Windows XP
Usando
Silvia ¿Has probado a poner el nombre del fichero entrecomillado?
Silvia dijo,
Escrito el 31 Mayo, 2009 @ 8:32 pm
Mozilla Firefox 3.0.10 en
Windows XP
Usando
SÃ, estuve probando con y sin comillas. Aunque no sabÃa si harÃan falta, ya que la propia orden â€CMD /C del @FILE†ya va entrecomillada. Además, esa misma pero con ‘echo’ en vez de ‘del’ sà que saca el nombre completo del fichero.
De todas formas, al final hemos utilizado nombres de fichero que no contienen espacios, asà que nos ha sido muy útil.
Gracias por el artÃculo!
Francisco dijo,
Escrito el 25 Junio, 2009 @ 11:32 pm
Safari 530.5 en
Mac OS X
Usando
Me gustarÃa poder borrar archivos pero por “fecha de último acceso”, porque hay muchos archivos que son de consulta aunque no se modifican, por lo que no deberÃa borrarlos.
¿Cómo puedo filtrar por “fecha de último acceso”?
Muchas gracias por vuestra ayuda.
Saludos.
Daniel Nava dijo,
Escrito el 2 Julio, 2009 @ 1:20 am
Mozilla Firefox 3.0.3 en
Windows XP
Usando
David tal y como comenta nuestro compañero Francisco serÃa muy útil borrar los archivos por la fecha de último acceso, estoy haciendo pruebas…
David dijo,
Escrito el 3 Julio, 2009 @ 1:51 pm
Mozilla Firefox 3.0.11 en
Windows XP
Usando
Ok Daniel mantennos informados
Yo la verdad es que no se si se podrá parametrizar ese último acceso de alguna manera.
Ruben dijo,
Escrito el 5 Octubre, 2009 @ 7:19 pm
Internet Explorer 7.0 en
Windows XP
Usando
Me parece una herramienta que hacia falta en DOS
David, como hago para borrar los archivos que tengan mas de 4 horas, veo que el parametro -d es para dias no incluye horas.
David dijo,
Escrito el 5 Octubre, 2009 @ 7:35 pm
Internet Explorer 8.0 en
Windows NT
Usando
Ruben no creo que la herramienta tenga un modificador para aplicarle ratios de tiempo en horas. De echo en la web de Microsoft Technet en la que se mencionan todos los parámetros que se le pueden aplicar no se menciona nada de horas.
La sintaxis serÃa: /d [{+|-}][{|}]
Y la explicación: Selects files with a last modified date within the specified time frame.
1.- Selects files with a last modified date later than or equal to (+) or earlier than or equal to (-) the specified date, where Date is in the format MM/DD/YYYY.
2.- Selects files with a last modified date later than or equal to (+) the current date plus the number of days specified, or earlier than or equal to (-) the current date minus the number of days specified.
3.- Valid values for Days include any number in the range 0–32,768. If no sign is specified, + is used by default.
David Ornelas dijo,
Escrito el 5 Octubre, 2009 @ 8:06 pm
Opera 9.80 en
Windows XP
Usando
Que tal…
Solo para comentarles a cerca del problema que al igual que Silvia tuve o sigo teniendo, pero solamente pasa con Windows 2000, en W2k3 ya está resuelto, incluso ya incluye el ejecutable.
Saludos
David dijo,
Escrito el 6 Octubre, 2009 @ 7:54 am
Internet Explorer 6.0 en
Windows XP
Usando
Gracias por tu aportación David. Ah! y gracias también a Silvia que en su dÃa cuando escribió no le dije nada
Ruben dijo,
Escrito el 6 Octubre, 2009 @ 4:09 pm
Internet Explorer 7.0 en
Windows XP
Usando
David Gracias por su respuesta,
hay forma de borrar archivos cada n horas ?
GarZa dijo,
Escrito el 23 Octubre, 2009 @ 2:20 pm
Mozilla Firefox 3.0 en
Windows XP
Usando
Hola, me ha venido genial esta herramienta, gracias.
Un Saludo,
David dijo,
Escrito el 24 Octubre, 2009 @ 3:33 pm
Mozilla Firefox 3.5.3 en
Windows XP
Usando
Garza me alegro de te haya sido de utilidad.
David dijo,
Escrito el 24 Octubre, 2009 @ 3:36 pm
Mozilla Firefox 3.5.3 en
Windows XP
Usando
Rubén si te refieres a cómo planificar el borrado para que éste se efectúe cada x horas por supuesto que puedes hacerlo mediante las tareas programadas de Windows.
Mebarak dijo,
Escrito el 26 Octubre, 2009 @ 10:09 pm
Mozilla Firefox 3.0.13 en
Windows XP
Usando
Yo implante este scripcito para eliminar logs en un servidor de Sharepoint con una versión de SQL extress, en un servidor de desarrollo.
Echo —————————————— >> log_borrado.txt
Echo Borrado %date% >> log_borrado.txt
Echo —————————————— >> log_borrado.txt
forfiles -P “C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG” -M *.log -C “CMD /C del @FILE | ECHO @path” /D -05 >> log_borrado.txt
forfiles -P “C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG” -M SQLDump*.txt -C “CMD /C del @FILE | ECHO @path” /D -05 >> log_borrado.txt
forfiles -P “C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup” -M *.log -C “CMD /C del @FILE | ECHO @path” /D -05 >> log_borrado.txt
forfiles -P “C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup” -M SQLDump*.txt -C “CMD /C del @FILE | ECHO @path” /D -05 >> log_borrado.txt
con lo anterior elimino estos logs y me genera un archivo de texto con los registros de lo que borro
esto se programo mediante una tarea programada de windows
javito dijo,
Escrito el 17 Noviembre, 2009 @ 5:44 pm
Mozilla Firefox 3.5.2 en
Windows NT
Usando
Alguien sabe que hacer con los archivos cuyos nombres tienen espacios? no los quiere borrar… snif snif
Carlos dijo,
Escrito el 11 Enero, 2010 @ 11:21 pm
Mozilla Firefox 3.5.3 en
Windows XP
Usando
Hola a mi no me acaba de funcionar cuando pongo este comando termina dandome este error.
¿Qué debo hacer para corregirlo?
C:\forfiles -p”D:\auxiliar\Personal” -s -m*.doc -d-180 -c”CMD /C del @FILE”
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
can’t execute öCMD (error 2)
JL dijo,
Escrito el 17 Febrero, 2010 @ 3:38 pm
Mozilla Firefox 3.5.5 en
Windows Vista
Usando
Buenos dÃas.
He conseguido borrar archivos que contienen espacios
orfiles -p”Ruta de los ficheros” -s -m*.sql -d-3 -c”CMD /C del 0×22@FILE”
Con esto borro los ficheros con extensión sql más viejos de 3 dÃas y que contienen espacios.
Espero que te sirva
JLuis