背景情報
2003年から2013年の間、重要なメールをメールアカウントからローカルハードドライブに*.eml
ファイルとして保存する習慣がありました。(私はこれをやめ、多くの電子メールアカウントで現在自由に利用できる膨大なバックアップ機能に依存しています。)
過去18か月間、私はArch Linuxで働いていましたが、最近、Windows 10がクリーンにインストールされたラップブックで働いています。 マシン間で自分のデータを同期するPowerShellスクリプトを作成しました。このスクリプトを使用すると、行われた、または行われた可能性のある変更のログが残されるため、不要なものをすばやく見つけることができます。
私がインストールされgVim
、7-Zip
、Git
、Firefox
、Google Chrome
、Bulk Rename
&Ditto
、その後、一週間ほど前に、私のアーカイブされたすべてのことに気づいた*.eml
ファイルは何とか自分の持っていたLastWriteTime
ことday`s日に変更します。
これは、影響を受けるディレクトリで私がチェックする方法です:
ls -r *.eml | ForEach-Object { $_.LastWriteTime.ToString('yyyyMMdd-HH:mm:ss') + " : " + $_.FullName } | sort
(ls -r *.eml).count
私は*.eml
、E:\
ハードドライブパーティションにほぼ1800個のファイルが散在していることを明らかにしました。彼らがそれらを保持することLastWriteTime
は私にとって非常に重要ではありませんが、私はそれを好んだでしょう。
初期診断:コルタナ
Control Panel > All Control Panel Items > Indexing Options
含まれていないことを確認しましたE:\
。- 私は、コルタナは瞬時に個人情報が私の個人的なアーカイブ上の分析から引き出されたことに気づい
E:
:ので、私はコルタナをオフにSettings > Privacy > Getting to know you > off-ticked
(とオンラインの両方のローカルおよび私のMicrosoftアカウントで私についての彼女のデータベースをクリア)。 - オンラインで関連する投稿を1つだけ見つけました- 新しいWin 7マシンで何かが.emlファイルのすべての日付を変更するのはなぜですか?-しかし、それはWindows Searchについてです。
セカンドオピニオン:Windows 10の「機能」です
「Further」という名前の個人データディレクトリの1つを取得し、同じE:
ドライブ内の「Play0」というスクラッチフォルダにコピーします。すべてのファイルは、現在の日付に更新されるファイルLastWriteTime
を除き、保存され.eml
ます。
このPowerShellコマンドは、ポータブルドライブに保持しているミラーディレクトリからファイルを修正できることを示唆する結果を出力します。
robocopy /mir G:\Further E:\Play0\Further *.eml /np /fft /l
そのため、「リスト」スイッチ(/l
)を使用せずに実行すると動作し*.eml
ます。日付は元の状態に戻り、元のファイルを実際に作成した日時を示しています。
空のファイルを使用した複製
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
-すべて期待どおり。しかし今でWindows Explorer
は、私は手動でそれらのオリジナルのコピー、作成使用してright-click > Copy
続くとCtrl+V
、および*.eml
タイムスタンプのすごみが開始されます:
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
-オリジナルと手動の両方のCopy *.eml
のタイムスタンプが今までに更新されました!
奇妙なニュースブレイク:Dropboxにも関係しています
以前、問題を解決したと思ったので、Dropboxをインストールしました。これは18か月間Arch Linuxで問題なく使用していました。残念ながら、RobocopyをDropboxと組み合わせて使用すると、奇妙な結果が生じます。まず、Dropboxが実行されていない状態で、
robocopy /mir G:\Further E:\Dropbox\Further *.eml /np /fft
-389個のファイルがコピーされたと報告し、はい、それらは正しい(古代の)時間で到着しますが、Dropboxをアクティブ化するとすぐに、それらはLastWriteTime
現在に設定されています。それは、オンラインDropboxストレージにアップロードされた可能性のある時間を反映しているのではなく、今ではRobocopyが実行された時間を反映しているということです。そして、
robocopy /mir G:\Further E:\Dropbox\Further *.eml /np /fft /l
-まだ矛盾があることを示しています-これらの389ファイル...
[編集] Process MonitorがExplorer.EXEを指すようにしてください
@dangphの答えによると、手動のコピー/貼り付けの3秒以内にeml
何百もの操作をフィルタリングして取得しExplorer.EXE
ました。明らかなことは何もありません。ただし、約1秒後に、を4回呼び出しますMsMpEng.exe
。そう
Settings > Windows Defender > Add an exclusion > Exclude a folder > E:\Play0
フィルタリングは、Process Monitor
今のProcess Name > is > MsMpEng.exe
とPath > contains > eml
、私はまだ電話を得たので、私はさらに一歩を行ってきました:
Settings > Windows Defender > Real-time protection > Off
これで、手動のコピー/貼り付けでは何もトリガーされませんでしたMsMpEng.exe
が、*.eml
ファイルの日付は変更されました。結論:Explorer.EXE
これがこれをしているということです。
敗北、私の質問
私はこの問題を解決することはできません、と私はそれと一緒に暮らすと上を移動することに決めましたが、私はまだ私の個人データのこのマイナーな違反に関係していますのでので、それは、従来の問題です:Windowsの10の何が原因になっているeml
にファイルを一部のコピー操作でタイムスタンプが改ざんされていますか?Dropboxがアクティブなときにこれがどのように悪化しますか?