Eliminar todos los ficheros .xls de una carpeta que tienen más de 7 dias desde Datacycle
03-2-2007
Montse Cortés in Base de Conocimiento DataCycle

A veces nos puede interesar ir haciendo limpiezas automáticas de informes que se guardan en un directorio concreto, normalmente aquellos que tienen una antigüedad de más de X día.

Con Datacycle Reporting y la tarea de ejecución de scripts de un proceso esto es posible.

A continuación se muestra un ejemplo en Visual Basic Script que elimina todos los ficheros .xls de la carpeta c:\temp en la máquina actual que tienen una antigüedad de más de 7 días:

 Sub EliminarFicherosMasDe7Dias
    Dim dtmDate,strDay,strMonth,strYear,strTargetDate,strComputer,strDate

    dtmDate = Date - 7

    strDay = Day(dtmDate)

    If Len(strDay) < 2 Then
        strDay = "0" & strDay
    End If

    strMonth = Month(dtmDate)

    If Len(strMonth) < 2 Then
        strMonth = "0" & strMonth
    End If

    strYear = Year(dtmDate)

    strTargetDate = strYear & strMonth & strDay

    strComputer = "."

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    Set FileList = objWMIService.ExecQuery _
        ("ASSOCIATORS OF {Win32_Directory.Name='C:\Scripts'} Where " _
            & "ResultClass = CIM_DataFile")

    For Each objFile In FileList
        strDate = Left(objFile.CreationDate, 8)
        If strDate < strTargetDate The
            If objFile.Extension = "xls" Then
                objFile.Delete
            End If
        End If
    Next
End Sub

Article originally appeared on ApeSoft (http://blog.apesoft.es/).
See website for complete article licensing information.