.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
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.
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

