Eliminare i files di una directory dopo un numero prefissato di giorni con ASP.NET

di Andrea Zani, in UserScript, ASP.NET, System.IO,

In alcuni casi memorizziamo alcune informazioni su file (come i vari log di accesso) ed è utile poterli cancellare dopo un determinato numero di giorni per lasciare libero spazio sul server.
Ecco un esempio pratico, che effettua un ciclo sui files presenti in una data directory:

<SCRIPT RUNAT="SERVER" LANGUAGE="VB">

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
  ' Nella varibile "quantigiorni" è presente un valore numerico
  ' che indica che il file presente per più di quel numero di
  ' giorni dev'essere cancellato.
  Dim quantigiorni As Integer = 10
  Dim fil, files() As String
  Dim f As FileInfo
  Dim d, d2 As DateTime
  d2 = DateTime.Now
  files = Directory.GetFiles("d:\temp")
  For Each fil In files
    f = New FileInfo(fil)
    d = f.CreationTime
    Dim quanti As TimeSpan
    quanti = d2.Subtract(d)
    Response.Write(quanti.Days.ToString() + ", ")
    Response.Write(f.Name + "<br>")
    If quanti.Days > quantigiorni Then f.Delete()
  Next
End Sub
</SCRIPT>

In questo esempio i files presenti nella directory "d:\temp" verranno cancellati dopo 10 giorni la loro creazione.
E' possibile impostare il numero di giorni dall'ultima modifica, in questo caso dovremo modificare la linea, in modo che anzichè f.CreationTime usi f.LastWriteTime.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi