Informações de plano de fundo
Entre 2003 e amp; 2013 Eu tinha o hábito de salvar e-mails importantes da minha conta de e-mail para meu disco rígido local como *.eml
files. (Eu não faço mais isso, contando com os vastos recursos de backup agora disponíveis gratuitamente com muitas contas de e-mail.)
Nos últimos 18 meses, trabalhei no Arch Linux, mas recentemente trabalhei em um lapbook com uma instalação limpa do Windows 10. Eu escrevi um script do PowerShell para sincronizar meus próprios dados entre máquinas. Esse script me deixa um registro de alterações que podem ou foram feitas, para que eu possa identificar rapidamente algo indesejável.
Eu instalei gVim
, 7-Zip
, Git
, Firefox
, Google Chrome
, Bulk Rename
& Ditto
, e então, cerca de uma semana atrás, percebi que todos os meus arquivos *.eml
arquivados tinham de alguma forma seus LastWriteTime
modificados para a data daquele dia.
É assim que eu verifico em um diretório afetado:
ls -r *.eml | ForEach-Object { $_.LastWriteTime.ToString('yyyyMMdd-HH:mm:ss') + " : " + $_.FullName } | sort
(ls -r *.eml).count
revela que eu tenho quase 1800% de arquivos*.eml
espalhados pela minha partição de disco rígido E:\
. Não é de vital importância para mim que eles mantenham seus LastWriteTime
, mas eu teria preferido isso.
diagnóstico inicial: Cortana
- Eu verifiquei que
Control Panel > All Control Panel Items > Indexing Options
não inclui E:\
.
- Percebi que a Cortana instantaneamente encontrou informações pessoais retiradas de sua análise dos meus arquivos pessoais em
E:
, então eu desliguei a Cortana: Settings > Privacy > Getting to know you > off-ticked
(e limpei o banco de dados dela sobre mim tanto localmente quanto na minha conta da Microsoft online).
- Encontrei apenas uma postagem relacionada on-line - Por que algo na minha nova máquina Win 7 muda todas as datas dos meus arquivos .eml? - mas é sobre Windows Search .
segunda opinião: é um "recurso" do Windows 10
Eu pego um dos meus diretórios de dados pessoais, chamado "Further", e copio para uma pasta de rascunho, "Play0", na mesma unidade E:
. Todos os arquivos preservam seu LastWriteTime
, exceto os arquivos .eml
, que são redecorados agora.
Este comando do PowerShell gera resultados sugerindo que os arquivos podem ser corrigidos dos diretórios espelhados que eu mantenho em unidades portáteis:
robocopy /mir G:\Further E:\Play0\Further *.eml /np /fft /l
Então eu o executo sem a opção "list" ( /l
), e funciona - as datas estão de volta a como estavam, mostrando quando eu realmente criei os arquivos *.eml
originais.
reprodução usando arquivos vazios
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
- tudo como esperado; mas agora, em Windows Explorer
, eu manualmente faço cópias desses originais, usando right-click > Copy
seguido por Ctrl+V
, e a estranheza *.eml
timestamp começa:
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
- o original e a cópia manual *.eml
s tiveram seus carimbos de data / hora atualizados até o momento!
newsbreak estranho: também tem algo a ver com o Dropbox
Tendo, anteriormente, pensado que tinha resolvido o problema, instalei o Dropbox, que usei durante 18 meses no Arch Linux sem quaisquer problemas. Infelizmente, o Robocopy está produzindo resultados estranhos quando usado em conjunto com o Dropbox. Primeiro, com o Dropbox não em execução,
robocopy /mir G:\Further E:\Dropbox\Further *.eml /np /fft
- reports 389 Arquivos foram copiados, e sim, eles chegam com os tempos corretos (antigos), mas assim que eu ativo o Dropbox, eles têm LastWriteTime
definido para agora. Com isso eu quero dizer não para algum tempo que reflita um tempo em que eles possam ter sido enviados para o meu armazenamento on-line do Dropbox, mas agora , o tempo que o Robocopy foi executado. E
robocopy /mir G:\Further E:\Dropbox\Further *.eml /np /fft /l
- mostra que ainda há uma discrepância - esses 389 arquivos ...
[edit] verifique com pontos do Process Monitor para o Explorer.EXE
Como resposta de @ dangph, eu filtrado por eml
e tenho centenas de operações por Explorer.EXE
nos três segundos em torno do meu manual de copiar / colar. Nada óbvio ali. No entanto, cerca de um segundo depois, quatro chamadas para MsMpEng.exe
. Então
Settings > Windows Defender > Add an exclusion > Exclude a folder > E:\Play0
Filtrando Process Monitor
agora para Process Name > is > MsMpEng.exe
e Path > contains > eml
e ainda recebo ligações, então fui um pouco além:
Settings > Windows Defender > Real-time protection > Off
Agora, meu manual Copiar / Colar não acionou nenhum MsMpEng.exe
, mas os arquivos *.eml
ainda tiveram suas datas alteradas. Conclusão: é Explorer.EXE
que está fazendo isso.
derrotado, minhas perguntas
Eu não posso resolver isso, e é um problema herdado, então decidi viver com isso e seguir em frente, mas ainda estou preocupado com essa pequena violação de meus dados pessoais, então: O Windows 10 está fazendo com que eml
arquivos tenham suas estampas de tempo adulteradas em algumas operações de Cópia e como isso se exacerbou quando o Dropbox está ativo?