Lors d'une copie ou autre action sur un fichier, la date de création est remplacée par la date de cette action.
Voici donc un snippet qui sauvegarde la date de création de ce fichier.
J'ai pris comme action une copie de fichier.
Imports System.IO
Private Sub Copyfile(ByRef cheminOrigine As String, ByRef cheminDestination As String)
Dim fi As New IO.FileInfo(cheminOrigine)
Try
If File.Exists(cheminDestination) Then Exit Sub
fi.CopyTo(cheminDestination, True)
Sauvegarderdatecreation(cheminOrigine, cheminDestination)
MessageBox.Show("Opération réussie", "Copie fichier", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As IOException
MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub Sauvegarderdatecreation(ByRef cheminOrigine As String, ByRef cheminDestination As String)
Dim t As System.IO.FileInfo
Dim datecreation As Date
'recup les info sur le fichier
t = New System.IO.FileInfo(cheminOrigine)
datecreation = t.CreationTime
If (System.IO.File.GetAttributes(cheminOrigine) And FileAttributes.ReadOnly) = FileAttributes.ReadOnly Then 'fichier lecture seule
'Normale
System.IO.File.SetAttributes(cheminOrigine, FileAttributes.Archive)
End If
System.IO.File.SetCreationTime(cheminDestination, datecreation)
End Sub
Et pour appeler
Dim cheminOrigine As String = "chemin complet fichier origine"
Dim cheminDestination As String = "chemin complet fichier destination"
If File.Exists(cheminOrigine) Then
Copyfile(cheminOrigine, cheminDestination)
End If
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.