.NET Modificare data di accesso, creazione e modifica di file e cartelle

Link sponsorizzati

Quest’oggi parlerò di come modificare la data di creazione, modifica o ultimo accesso tramite un codice in .NET. Come sempre il codice è possibile scriverlo sia in C# che in Visual Basic .NET, il porting è abbastanza semplice e veloce.

Iniziamo con il primo snippet, quello che mostra come modificare la data di creazione, modifica e accesso di una cartella.

Link sponsorizzati

            string dir = @"C:test"; //cartella precedentemente creata
            DirectoryInfo d = new DirectoryInfo(dir);
            //stampo le date
            Console.WriteLine("Ultimo accesso: " + d.LastAccessTime.ToString());
            Console.WriteLine("Ultimo modifica: " + d.LastWriteTime.ToString());
            Console.WriteLine("Data creazione: " + d.CreationTime.ToString());

            //nuova data: scritta come anno, mese, giorno, ora, minuti, secondi
            DateTime new_data = new DateTime(2008, 10, 11, 23, 20, 11);

            //qui aggiorno la vecchia data con la nuova data
            d.LastWriteTime = new_data;
            d.LastAccessTime = new_data;
            d.CreationTime = new_data;
            //stampo le date modificate
            Console.WriteLine("nDate modificatennUltimo accesso: " + d.LastAccessTime.ToString());
            Console.WriteLine("Ultimo modifica: " + d.LastWriteTime.ToString());
            Console.WriteLine("Data creazione: " + d.CreationTime.ToString());


            Console.ReadKey();

Per poterlo usare ricordatevi di includere System.IO. Cosa fa il codice? Semplice, richiede le informazioni della cartella C:test e stampa quindi le date di accesso, modifica e creazione. Dopo crea una nuova data con la quale aggiorna i dati prelevati in precedenza.
Lo stesso codice si può scrivere in Visual Basic .NET, basta prestare attenzione alla dichiarazione delle variabili d e new_data, il resto del codice rimane invariato!

Ora vediamo come fare la stessa cosa ma per i file. La cosa è pressochè identica, a cambiare è la variabile d, che, invece di essere un oggeto di tipo DirectoryInfo è un oggetto FileInfo.

            string dir = @"C:testtext.txt"; //file precedentemente creato
            FileInfo d = new FileInfo(dir);
            //stampo le date
            Console.WriteLine("Ultimo accesso: " + d.LastAccessTime.ToString());
            Console.WriteLine("Ultimo modifica: " + d.LastWriteTime.ToString());
            Console.WriteLine("Data creazione: " + d.CreationTime.ToString());

            //nuova data: scritta come anno, mese, giorno, ora, minuti, secondi
            DateTime new_data = new DateTime(2008, 10, 11, 23, 20, 11);

            //qui aggiorno la vecchia data con la nuova data
            d.LastWriteTime = new_data;
            d.LastAccessTime = new_data;
            d.CreationTime = new_data;
            //stampo le date modificate
            Console.WriteLine("nDate modificatennUltimo accesso: " + d.LastAccessTime.ToString());
            Console.WriteLine("Ultimo modifica: " + d.LastWriteTime.ToString());
            Console.WriteLine("Data creazione: " + d.CreationTime.ToString());


            Console.ReadKey();

Anche in questo caso il porting in Visual Basic .NET è immediato!

Link sponsorizzati

Segnalalo ai tuoi amici!

Post correlati:

Non sono ancora stati lasciati commenti.