Date de création des fichiers incorrecte dans Windows lors de la copie de fichiers, si le fichier a déjà existé

9

J'ai un problème lors de la copie de fichiers (ou de la création de nouveaux fichiers) sous Windows 7. Si je copie un fichier, je m'attends à ce que la date de création soit correcte, mais parfois ce n'est pas le cas. Habituellement, cela fonctionne, mais voici un exemple où cela ne fonctionne pas:

J'ai deux dossiers sur mon bureau, le dossier 1 et le dossier 2. Je crée un nouveau fichier texte dans le dossier 1 appelé 852pm (ou chaque fois qu'il a été créé). Je copie le fichier dans le dossier 2. Le fichier copié a la date de création correcte. Je supprime le fichier copié, attends une minute et le copie à nouveau. La date de création est incorrecte. La date de création provient du fichier supprimé.

J'ai d'abord essayé de vider la corbeille, mais cela ne fonctionne pas. Et parfois, la création d'un nouveau fichier avec le même nom montre l'ancienne date de création (et avec une nouvelle date modifiée).

Pourquoi cela arrive-t-il? Comment puis-je faire en sorte que les nouveaux fichiers dans cette situation affichent les dates de création correctes?

theMaxx
la source

Réponses:

11

Tunnellisation de fichiers

Citant l'article officiel de la base de connaissances Windows NT contient des capacités de tunneling du système de fichiers :

Cela se produit après la suppression ou le changement de nom et la réintroduction d'une nouvelle entrée de répertoire avec cette méta-info (si une création ou un changement de nom se produit pour faire réapparaître un fichier de ce nom dans un court laps de temps).

L'idée est d'imiter le comportement attendu par les programmes MS-DOS lorsqu'ils utilisent la méthode de sauvegarde sécurisée. Ils copient les données modifiées dans un fichier temporaire, suppriment l'original et renomment le temporaire en original. Cela devrait sembler être le fichier d'origine une fois terminé. Windows effectue un tunneling sur les systèmes de fichiers FAT et NTFS pour garantir la conservation des noms de fichiers longs / courts lorsque les applications 16 bits effectuent cette opération de sauvegarde sécurisée.

L'article explique également comment augmenter le temps de cache ou désactiver complètement les capacités de tunneling.

Désactiver le tunneling de fichiers

  1. Appuyez sur Win+ R, tapez regedit, puis cliquez sur OK .

  2. Accédez à la clé de registre suivante:

    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
    
  3. Cliquez avec le bouton droit sur une zone vide dans le volet droit et sélectionnez Nouveau> Valeur DWORD (32 bits) .

  4. Nommez la nouvelle valeur MaximumTunnelEntries.
    Assurez-vous qu'il est défini sur 0: cela signifie qu'aucune entrée de tunnel ne sera créée.

Information additionnelle

Le nom "tunneling" vient de la mécanique quantique (plutôt cool):

Le développeur qui était responsable de l'implémentation du tunneling sur Windows 95 s'est un peu laissé emporter par l'analogie de la mécanique quantique: les fragments d'informations sur les fichiers récemment supprimés ou récemment renommés sont conservés dans des structures de données appelées "quarks". "

Source: L'histoire apocryphe du tunneling du système de fichiers

Lectures complémentaires

edelwater
la source
0

Vous pouvez mettre à jour l'heure de création avec cette commande manuellement:

powershell (ls YourFile.txt).CreationTime = Get-Date

... et la même chose dans un fichier batch:

call powershell "(ls YourFile.txt).CreationTime = Get-Date"
bpelhos
la source