none
Modifier la date de création d'un fichier ? RRS feed

  • Question

  • Bonjour,

    existe t-il une autre fonction que FSO = CreateObject("Scripting.FileSystemObject") pour modifier la date de création d'un fichier ? Je travaille sous VB 2008.

    Merci.

    mercredi 17 juillet 2013 15:53

Réponses

  • Bonjour MicSoft,

    Concernant la date de la photo en tant que fichier, tu peux modifier trois dates :

    • Création
    • Modification
    • Dernier accès

    Par exemple:

        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim sFilePath As String = "D:\Users\Jacques\Pictures\DSC00550.JPG"
    
    
            IO.File.SetCreationTime(sFilePath, New DateTime(2013, 7, 1, 12, 0, 0))    ' Créé le :   
            IO.File.SetLastWriteTime(sFilePath, New DateTime(2013, 7, 2, 13, 0, 0))   ' Modifié le :
            IO.File.SetLastAccessTime(sFilePath, New DateTime(2013, 7, 3, 14, 0, 0))  ' Dernier accès le
        End Sub

    Par contre, la date de la prise de vue est indépendante du système de fichier, donc même si les propriétés du fichier t'affichent bien les dates ci-dessus, un survol sur la photo peut afficher :

    Ces information se trouvent dans les méta-données EXIF de la photo. Il est probable que tes clichés soient datés à partir du 01/01/2011 00:00. On retrouve cette date dans l'onglet détail du fichier :

    Tu peux l'y modifier manuellement, ainsi que d'autres infos. Mais si tu as mitraillé à tout va, mieux vaut trouver un outil, il y en a pléthore,... ou en écrire un ...


    Cordialement, Jacques

    • Marqué comme réponse Michel56100 mercredi 17 juillet 2013 21:47
    mercredi 17 juillet 2013 21:07
  • Sans pub, et avec XnView , tu sélectionnes toutes les photos concernées, puis Outils -> Modifier la date ...

    Bon d'accord, c'est pas du VB ni du .Net, mais tu auras une foultitude de fonctions pour la photo !


    Cordialement, Jacques

    • Marqué comme réponse Michel56100 mercredi 17 juillet 2013 22:04
    mercredi 17 juillet 2013 21:55

Toutes les réponses

  • Petite précision : Est-ce que cela va modifier la date de prise de vue pour les photos ?

    En fait, j'ai pris des photos lundi et malheureusement, mon appareil s'est initialisé car les piles étaient usées. Du coup, la date est passée au 1/01/2011 à 0h00. Je veux remettre la date à sa vraie valeur.

    Merci

    • Modifié Michel56100 mercredi 17 juillet 2013 16:00 une fôte :)
    mercredi 17 juillet 2013 15:59
  • Bonjour,

    Voici, testé :

    Option Explicit On
    Public Class Form1
    
      Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
        Dim nomFichier As String = "date.txt"
        Dim chemin As String = My.Application.Info.DirectoryPath & "\"
        Dim laDate As DateTime = "14/07/2013 12:34:00"
        IO.File.SetCreationTime(chemin & nomFichier, laDate)
        MsgBox(IO.File.GetCreationTime(chemin & nomFichier))
      End Sub
    
    End Class

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    • Proposé comme réponse EhJoe jeudi 18 juillet 2013 11:52
    mercredi 17 juillet 2013 18:59
  • Bonjour MicSoft,

    Concernant la date de la photo en tant que fichier, tu peux modifier trois dates :

    • Création
    • Modification
    • Dernier accès

    Par exemple:

        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim sFilePath As String = "D:\Users\Jacques\Pictures\DSC00550.JPG"
    
    
            IO.File.SetCreationTime(sFilePath, New DateTime(2013, 7, 1, 12, 0, 0))    ' Créé le :   
            IO.File.SetLastWriteTime(sFilePath, New DateTime(2013, 7, 2, 13, 0, 0))   ' Modifié le :
            IO.File.SetLastAccessTime(sFilePath, New DateTime(2013, 7, 3, 14, 0, 0))  ' Dernier accès le
        End Sub

    Par contre, la date de la prise de vue est indépendante du système de fichier, donc même si les propriétés du fichier t'affichent bien les dates ci-dessus, un survol sur la photo peut afficher :

    Ces information se trouvent dans les méta-données EXIF de la photo. Il est probable que tes clichés soient datés à partir du 01/01/2011 00:00. On retrouve cette date dans l'onglet détail du fichier :

    Tu peux l'y modifier manuellement, ainsi que d'autres infos. Mais si tu as mitraillé à tout va, mieux vaut trouver un outil, il y en a pléthore,... ou en écrire un ...


    Cordialement, Jacques

    • Marqué comme réponse Michel56100 mercredi 17 juillet 2013 21:47
    mercredi 17 juillet 2013 21:07
  • Bonsoir,

    merci pour cette précision. Oui, modifier la date de création ne modifiera pas la date de prise de vue.

    Je ne savais pas qu'on pouvait modifier cette valeur en cliquant dessus. J'ai sélectionné l'ensemble de mes photos et j'ai cliqué sur "Afficher plus de détails". j'ai modifié la date et en cliquant sur Enregistrer, mes 112 photos étaient à la bonne date.

    Merci. Pour la modification des autres dates, cela me servira bientôt.

    A+

    mercredi 17 juillet 2013 21:52
  • Sans pub, et avec XnView , tu sélectionnes toutes les photos concernées, puis Outils -> Modifier la date ...

    Bon d'accord, c'est pas du VB ni du .Net, mais tu auras une foultitude de fonctions pour la photo !


    Cordialement, Jacques

    • Marqué comme réponse Michel56100 mercredi 17 juillet 2013 22:04
    mercredi 17 juillet 2013 21:55
  • Bonsoir,

    ah je ne connaissais pas xnview. Mais j'aurais mieux aimé le faire en VB.

    Je le garde sous le coude. Merci.


    • Modifié Michel56100 mercredi 17 juillet 2013 22:06 une fôte :)
    mercredi 17 juillet 2013 22:06
  • Bonjour,

    Il existe pas mal de librairies et exemples sur le sujet :

    A toi de trouver celles qui peuvent t'aider. Si toutes lisent les EXIF, toutes ne les écrivent pas.


    Cordialement, Jacques


    • Modifié Jacques93 jeudi 18 juillet 2013 06:32 ise en forme
    jeudi 18 juillet 2013 06:30
  • Bonjour,

    merci mais l'anglais et moi ça fait deux. :)

    Je verrai si je prendrai cela pour mon futur programme.

    A bientôt.

    jeudi 18 juillet 2013 11:30