Borrar ficheros *.log cuya fecha de creacion este dentro de un rango
Hola buenas!
mi intencion es crear un programita que se me ejecute como tarea programada en el servidor, de tal manera que me borre todos los logs de una carpeta, conservandome unicamente los de los ultimos dos dias. He intentado hacerlo con un .bat pero no lo he conseguido, se que en visual basic se puede, pero no tengo ni idea, me podeis ayudar? Gracias de antemano!
mi intencion es crear un programita que se me ejecute como tarea programada en el servidor, de tal manera que me borre todos los logs de una carpeta, conservandome unicamente los de los ultimos dos dias. He intentado hacerlo con un .bat pero no lo he conseguido, se que en visual basic se puede, pero no tengo ni idea, me podeis ayudar? Gracias de antemano!
Investiga las siguientes funciones API
FindFirstFile y FindNextFile (para buscar archivos a partir de un directorio inicial y una extensiòn como patron como por ej C:Windows*.log)
Estas funciones trabajan con una variable de tipo WIN32_FIND_DATA (de API). Uno de los campos de este registro tiene un atrubuto llamado W32.ftLastWriteTime, que es la fecha de ultimo acceso enmascarada como un Long. Este valor se descompone en fecha con la API FileTimeToSystemTime.
Esta última fecha es la que te sirve para filtrar los archivos a eliminar.
Espero que te sriva como punto de partida.
Saludos
FindFirstFile y FindNextFile (para buscar archivos a partir de un directorio inicial y una extensiòn como patron como por ej C:Windows*.log)
Estas funciones trabajan con una variable de tipo WIN32_FIND_DATA (de API). Uno de los campos de este registro tiene un atrubuto llamado W32.ftLastWriteTime, que es la fecha de ultimo acceso enmascarada como un Long. Este valor se descompone en fecha con la API FileTimeToSystemTime.
Esta última fecha es la que te sirve para filtrar los archivos a eliminar.
Espero que te sriva como punto de partida.
Saludos