English (United Kingdom)

Fermu Website

Home
Mover carpetas con más de "n" días de antigüedad PDF Print E-mail
User Rating: / 1
PoorBest 
Written by Marc   
Friday, 02 September 2005 12:11

Descripción del problema

Supongamos que tenemos una aplicación que cada día nos genera una carpeta que ocupa "m" MB en nuestro disco duro. Supongamos que el espacio del disco duro NO es ilimitado. Y supongamos que hemos de automatizar el proceso.

Bien, para eso es el script de hoy. Notar que es una modificación de otro existente en el Script Center Script Repository de Microsoft: http://www.microsoft.com/technet/scriptcenter/scripts/storage/folders/stfovb22.mspx
El código final del script está disponible en nuestra sección de descargas bajo el nombre de MoverDosier.vbs

Solución planteada

Realmente es muy sencilla. Basta coger el código de http://www.microsoft.com/technet/scriptcenter/scripts/storage/folders/stfovb22.mspx y añadirle 3 lineas más de código.

Por supuesto, le pasamos 3 parámetros: CarpetaOrigen, CarpetaDestino y "edad" (en días) de la creación de la carpeta.

Usamos la función "Int" del VB en el "IF" antes que la "DateDiff" para comprobar si se cumple la condición de antigüedad. El motivo es que la segunda no es siempre exacta en cuanto al resultado. Ya se sabe que trabajar con fechas siempre tiene sus complicaciones, mientras que al hacerlo directamente con números la cosa se simplifica.

Evidentemente, si se cumple la condición, se mueve la carpeta al destino especificado.

Podríamos complicar un poco más el script si quisiéramos evitar que ciertas carpetas se movieran o que no lo hicieran. Para ello, deberíamos usar la función "InStr" después del "IF" (se podría usar también antes, pero es menos eficiente, bajo mi punto de vista) y mirar si alguna carpeta tiene (o no tiene) cierto nombre y NO moverla. También podemos usar otra función llamada "Mid" si sabemos exactamente en qué posición está la letra o letras que buscamos.

Por cierto, al igual que se mueven, se podrían borrar cambiando la instrucción .MoveHere por objFolder.Delete (y algún que otro cambio que os dejo que miréis)

Marc

MCP - MVP Windows - Shell/User

Trackback(0)
Comentarios (1)Add Comment
aplicacion 546k
escrito por yunior, October 02, 2006
[smiley=evil]
[smiley=laugh] [smiley=shock] [smiley=cool] [smiley=happy] [smiley=laugh]
enviar abuso
vote negativo
vote positivo
Votos: +0

Escribir comentario
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
más pequeño | más grande

busy
Last Updated ( Tuesday, 20 September 2005 14:40 )
 
Web www.fermu.com

Logon


Gente Online

We have 185 guests online
Joomla Templates by JoomlaShack