Sauvegarder la date de creation d'un fichier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 201 fois - Téléchargée 21 fois

Contenu du snippet

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

A voir également

Ajouter un commentaire

Commentaires

CoDubai
Messages postés
81
Date d'inscription
vendredi 19 septembre 2014
Statut
Membre
Dernière intervention
15 octobre 2014
-
Si mon système faisait ca, je serais pas reparti a zéro.
Whismeril
Messages postés
13619
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 août 2019
295 -
Bonsoir, dans une méthode tu appelles ta variable de FileInfo fi et dans l'autre t, ça me semble pas cohérent, au pire fi1 et fi2 pour montrer que ce ne sont pas les mêmes.

Tu devrais prévoir une surcharge de Sauvegardedatecreation, dans laquelle tu passerais fi en paramètre pour le cas ou le fichier serait déplacé et n'existerait plus dans l'emplacement d'origine.
cs_Le Pivert
Messages postés
6155
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2019
83 > Whismeril
Messages postés
13619
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 août 2019
-
Bonsoir,

Pour ce qui est de la dénomination des variables, c'est un choix personnel. Je rappelle que ce snippet est fait pour la sauvegarde de la date de création d'un fichier. Ce que j'ai mis en plus c'est la façon de l'employer.

Pour ta 2ème remarque, il y a un paramètre qui empêche le déroulement de la sauvegarde de la date de création dans "Pour appeler"

j'aurais préféré comme commentaire, de savoir si ce snippet était vraiment utile!

@+ Le Pivert
Whismeril
Messages postés
13619
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 août 2019
295 > cs_Le Pivert
Messages postés
6155
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2019
-
Je viens de m'apercevoir que j'ai fait une faute de frappe, j'ai mis if pour fi.

Ma proposition de surcharge n'a de but que l'amélioration du code déjà bien.

Quand à l'utilité pas dans l'immédiat, mais qui sait.

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.