Como eliminar archivos por fecha?

Iniciado por _CrisiS_, 10 Diciembre 2010, 03:46 AM

0 Miembros y 1 Visitante están viendo este tema.

_CrisiS_

Hola amigos una duda, que code podria emplear para que borre archivos  creados 15 dias atras (de la fecha actual)
Ejml.
diariamente creo videos, con diferente nombres, y que con una funcione se borren los videos con 15 dias de antiguedad

.:Weeds:.

Te daré una pista, con esto deberías de poder sacarlo.
Código (vbnet) [Seleccionar]
LastWriteTime
DateTime.Now


Saludos


_CrisiS_

emmm me podrias dar una ayudita mas ? jeje es q ando algo perdido X)


Shell Root

Aquí averiguas la fecha de creación del archivo, realizas una bucle con todos los archivos, y los que cumplen la condición de que fueron creados aproximadamente hace 15 días con DateTime.Now los eliminas inmediatamente.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

_CrisiS_

Disculpa , pero como haria un bucle de la carpeta de los archivos? XP

raul338

Código (csharp) [Seleccionar]

using System.IO;
//..........
DirectoryInfo directory = new DirectoryInfo("C:");
foreach (FileInfo file in directory.GetFiles("*.*")) {
// aca compruebas :)
}


Algo asi es, lo hice al vuelo :xD

.mokk.

Bueno el codigo seria asi
Código (vb.net) [Seleccionar]

Imports System.IO
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Directorio As String = Application.StartupPath
        Dim Fecha As DateTime = DateTime.Now

        For Each archivo As String In My.Computer.FileSystem.GetFiles(Directorio, FileIO.SearchOption.SearchTopLevelOnly)

            Dim Fecha_Archivo As DateTime = My.Computer.FileSystem.GetFileInfo(archivo).LastWriteTime
            Dim diferencia = (CType(Fecha, DateTime) - CType(Fecha_Archivo, DateTime)).TotalDays

            If diferencia >= 15 Then
                File.Delete(archivo)
            End If

        Next

    End Sub

End Class


_CrisiS_