Informations de fond
Entre 2003 & amp; En 2013, j'avais l'habitude de sauvegarder des courriels importants de mon compte de messagerie sur mon disque dur local *.eml
des dossiers. (Je ne le fais plus, en m'appuyant sur les vastes capacités de sauvegarde maintenant disponibles gratuitement avec de nombreux comptes de messagerie.)
Au cours des 18 derniers mois, je travaillais sous Arch Linux, mais je travaillais depuis un lapbook avec une installation propre de Windows 10. J'ai écrit un script PowerShell pour synchroniser mes propres données entre ordinateurs. Ce script me laisse un journal des modifications qui ont été apportées ou qui ont été apportées, ce qui me permet de détecter rapidement tout problème.
j'ai installé gVim
, 7-Zip
, Git
, Firefox
, Google Chrome
, Bulk Rename
& amp; Ditto
, puis, il y a environ une semaine, a remarqué que tous mes documents archivés *.eml
les fichiers avaient en quelque sorte eu leur LastWriteTime
modifié à la date de ce jour.
Voici comment je vérifie, dans un répertoire affecté:
ls -r *.eml | ForEach-Object { $_.LastWriteTime.ToString('yyyyMMdd-HH:mm:ss') + " : " + $_.FullName } | sort
(ls -r *.eml).count
révèle que j'ai presque 1800 *.eml
des fichiers éparpillés autour de mon E:\
partition de disque dur. Il n’est pas extrêmement important pour moi de conserver leur LastWriteTime
, mais j'aurais préféré ça.
diagnostic initial: Cortana
- J'ai vérifié ça
Control Panel > All Control Panel Items > Indexing Options
n'inclut pasE:\
. - J'ai remarqué que Cortana avait immédiatement trouvé des informations personnelles extraites de l'analyse de mes archives personnelles
E:
donc j'ai éteint Cortana:Settings > Privacy > Getting to know you > off-ticked
(et effacé sa base de données me concernant localement et dans mon compte Microsoft en ligne). - J'ai trouvé un seul article en ligne - Pourquoi quelque chose sur ma nouvelle machine Win 7 modifie-t-il toutes les dates de mes fichiers .eml? - mais c'est à propos de Recherche Windows .
deuxième opinion: c'est une "fonctionnalité" de Windows 10
Je prends un de mes répertoires de données personnels, nommé "En outre", et le copie dans un dossier de travail, "Play0", dans le même répertoire. E:
conduire. Tous les fichiers conservent leur LastWriteTime
à l'exception du .eml
fichiers, qui sont remodelés à ce jour.
Cette commande PowerShell génère des résultats suggérant que les fichiers peuvent être corrigés à partir des répertoires mis en miroir que je conserve sur les lecteurs portables:
robocopy /mir G:\Further E:\Play0\Further *.eml /np /fft /l
Alors je le lance sans le commutateur "list" ( /l
), et ça marche - les dates sont redevenues comme avant, ce qui montre quand j’ai créé ces originaux *.eml
des dossiers.
reproduction à l'aide de fichiers vides
New-Item -ItemType File .\emptyControl
$thousandDaysAgo = (Get-Date).AddDays(-1000)
$thousandDaysAgo
27 August 2013 19:18:51
(New-Item -ItemType File .\emptyOldOriginal.eml).LastWriteTime = $thousandDaysAgo
(New-Item -ItemType File .\emptyOldOriginal.txt).LastWriteTime = $thousandDaysAgo
Copy-Item -Path .\emptyOldOriginal.eml -Destination .\eOOPowerShellv5Copy.eml
Copy-Item -Path .\emptyOldOriginal.txt -Destination .\eOOPowerShellv5Copy.txt
ls | select FullName, LastWriteTime
FullName LastWriteTime
-------- -------------
E:\Play0\emptyControl 23/05/2016 19:18:43
E:\Play0\emptyOldOriginal.eml 27/08/2013 19:18:51
E:\Play0\emptyOldOriginal.txt 27/08/2013 19:18:51
E:\Play0\eOOPowerShellv5Copy.eml 27/08/2013 19:18:51
E:\Play0\eOOPowerShellv5Copy.txt 27/08/2013 19:18:51
- tout comme prévu; mais maintenant, dans Windows Explorer
, Je fais manuellement des copies de ces originaux, en utilisant right-click > Copy
suivi par Ctrl+V
, et le *.eml
L'étrange horodatage commence:
FullName LastWriteTime
-------- -------------
E:\Play0\emptyControl 23/05/2016 19:18:43
E:\Play0\emptyOldOriginal - Copy.eml 23/05/2016 19:22:28
E:\Play0\emptyOldOriginal - Copy.txt 27/08/2013 19:18:51
E:\Play0\emptyOldOriginal.eml 23/05/2016 19:22:28
E:\Play0\emptyOldOriginal.txt 27/08/2013 19:18:51
E:\Play0\eOOPowerShellv5Copy.eml 27/08/2013 19:18:51
E:\Play0\eOOPowerShellv5Copy.txt 27/08/2013 19:18:51
- l'original et la copie manuelle *.eml
s ont eu leurs horodatages mis à jour jusqu'à maintenant!
bizarre newsbreak: c'est aussi quelque chose à voir avec Dropbox
Ayant pensé, plus tôt, avoir résolu le problème, j'ai installé Dropbox, que j'ai utilisé pendant 18 mois sur Arch Linux sans aucun problème. Malheureusement, Robocopy produit des résultats étranges lorsqu'il est utilisé avec Dropbox. Tout d'abord, avec Dropbox ne fonctionne pas,
robocopy /mir G:\Further E:\Dropbox\Further *.eml /np /fft
- rapports 389 fichiers à copier, et oui, ils arrivent avec le bon temps (ancien), mais dès que j'active Dropbox, ils ont LastWriteTime
réglé à maintenant. Je veux dire par là, pas à un moment qui reflète une heure où ils auraient pu être téléchargés sur mon espace de stockage Dropbox en ligne, mais à présent , le temps que Robocopy a été exécuté. Et,
robocopy /mir G:\Further E:\Dropbox\Further *.eml /np /fft /l
- montre qu'il y a toujours un écart - ces 389 fichiers ...
[edit] vérifier avec Process Monitor les points sur Explorer.EXE
Selon la réponse de @ dangph, j'ai filtré pour eml
et obtenu des centaines d'opérations par Explorer.EXE
dans les trois secondes autour de mon manuel Copier / Coller. Rien d'évident là-bas. Cependant, environ une seconde plus tard, quatre appels à MsMpEng.exe
. Alors
Settings > Windows Defender > Add an exclusion > Exclude a folder > E:\Play0
Filtration Process Monitor
maintenant pour Process Name > is > MsMpEng.exe
et Path > contains > eml
et j'ai toujours des appels, alors je suis allé plus loin:
Settings > Windows Defender > Real-time protection > Off
Maintenant, mon copier / coller manuel ne déclenche aucune MsMpEng.exe
, mais le *.eml
les fichiers ont toujours leurs dates modifiées. Conclusion: c'est Explorer.EXE
c'est faire ça.
vaincu, mes questions
Je ne peux pas résoudre cela, et c'est un problème hérité, j'ai donc décidé de vivre avec cela et de passer à autre chose, mais je suis toujours préoccupé par cette violation mineure de mes données personnelles. Qu'est-ce qui cause Windows 10? eml
les fichiers dont les horodatages sont altérés dans certaines opérations de copie, et comment cela est-il exacerbé lorsque Dropbox est actif?
la source
Réponses:
Je ne sais pas ce qui cause le problème, mais vous pouvez essayer d'utiliser Moniteur de processus pour savoir ce qui écrit dans vos fichiers.
Dans Process Monitor, vous pouvez définir un filtre de "chemin contient .eml", par exemple.
(Conseil: lors de la création d'un nouveau filtre dans Process Monitor, cliquez d'abord sur le bouton de réinitialisation de la boîte de dialogue de filtrage pour effacer tout filtre de la session précédente.)
Maintenant, copiez à nouveau votre fichier et Process Monitor vous indiquera quand un processus atteint vos fichiers.
S'il y a trop de bruit, vous pouvez cliquer avec le bouton droit sur des éléments pour exclure des éléments ou définir un filtre plus spécifique.
la source
C'est un bug qui existait depuis Windows Vista et cela affecte aussi .nws des dossiers. Pour résoudre ce problème, créez un nouveau fichier appelé "FixEml.reg" contenant les lignes suivantes et exécutez-le:
De plus, même si la date de la dernière modification a été modifiée, le contenu du fichier n'est pas réellement modifié.
la source
Cette entrée de forum a une réponse très intéressante sur cette question. Il semble découvrir la cause première, qui est le ADS Zone.Identifier.
Après avoir trouvé ceci, j'ai essayé d'écrire un script qui supprime cette ADS de mes fichiers et jusqu'à présent, cela semble avoir résolu le problème pour de bon (et nul besoin de changer le registre, etc.).
J'ai également écrit une interface graphique pour mon outil maintenant et j'espère qu'il aidera n'importe qui à se débarrasser de ce bogue potentiellement très éprouvant pour les nerfs (j'ai synchronisé plus de mille fichiers eml ...). C'est sur github: https://github.com/bfour/EMLFixer
Je serais heureux d'entendre vos commentaires, en particulier si cela fonctionne réellement pour vous aussi, car je ne pouvais que le tester sur ma machine.
la source