Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: turi72 en 23 Octubre 2009, 09:43 am



Título: Batch para borrar carpetas creadas hace mas de 15 dias
Publicado por: turi72 en 23 Octubre 2009, 09:43 am
Buenos dias,

Necesito crear un BAT que me borre, de un servidor de copias de seguridad, carpetas creadas hace más de 15 días.

De esta manera puedo automatizar el sistema, y dejar programado el borrado para que se ejecute cuando todavia no hemos empezado la jornada laboral, y así liberar de espació el sistema.

He efectuado búsquedas en el foro, pero no he logrado información al respecto.

Muchas grácias por la ayuda.


Título: Re: Bath para borrar carpetas creadas hace mas de 15 dias
Publicado por: Novlucker en 23 Octubre 2009, 16:48 pm
Te serviría un vbs?

Si te fijas aquí alguien ya ha preguntado algo similar

https://foro.elhacker.net/scripting/borrar_archivos_segun_su_fecha_en_bat-t223860.0.html

En este caso quería eliminar los archivos de más de un mes, pero podría modificarse para que sean 15 días y no archivos, sino carpetas.

Saludos


Título: Re: Bath para borrar carpetas creadas hace mas de 15 dias
Publicado por: turi72 en 26 Octubre 2009, 08:36 am
Muchas gracias.

Soy novato en eso de programar en VB, pero intentaré sacarle su jugo.

Muchas gracias de nuevo, y adelante con el foro, que sois una caña.


Título: Re: Bath para borrar carpetas creadas hace mas de 15 dias
Publicado por: Novlucker en 26 Octubre 2009, 15:22 pm
Fijate que es vbs, no VB, la diferencia es que uno es compilado y el otro intepretado (un simple script)

Igualmente como no era difícil te dejo lo siguiente:

Código
  1. Set objfso = createobject("scripting.filesystemobject")
  2. Set CRespaldos = objfso.getfolder("C:\Carpeta_Respaldos")
  3. Set CDiaria = objfso.subfolders
  4. Set LogFile = objfso.opentextfile("delitemLog.txt", 8, true)
  5.  
  6. for each C in CDiaria
  7. if datediff("d",C.datecreated, now()) > 15 then
  8. CPath = C.path
  9. CDCreated = C.datecreated
  10. objfso.deletefolder(CPath, true)
  11. LogFile.writeline now() & vbtab & CPath & vbtab & CDCreated
  12. end if
  13. next
  14.  
  15. LogFile.close

Elimina las subcarpetas dentro de la carpeta "Carpeta_Respaldos", cuya fecha de creación sea mayor a 15 días, además de que por lo mismo crea un archivo de log dentro del mismo directorio donde esta el script, con fecha/hora, ruta carpeta, y fecha de creación que tenía la carpeta antes de ser borrada.
Ya me dirás si sirve, te recomiendo probarlo en una copia de la carpeta ya que yo por lo menos no lo he probado  :-X

Saludos


Título: Re: Batch para borrar carpetas creadas hace mas de 15 dias
Publicado por: <ИΘZIЭ(ŦB> en 12 Noviembre 2009, 01:25 am
Revisa este enlace. Es batch.

http://foro.elhacker.net/scripting/batch_que_busque_y_elimine_log_anteriores_a_una_fecha-t274097.0.html