タイムスタンプが同じであるにもかかわらず、Windowsがファイルの1つを「新しい」と呼ぶのはなぜですか?


17

Windowsがこのダイアログを表示しているとき、これら2つの変更された日付のどちらが「新しい」かをどのように比較しますか?

最初は、Windowsは作成日属性を比較し、この比較の結果を使用して、どちらかの「(新しい)」というラベルを付けていたと思いました。(ファイルが特定の場所にコピーされた場合、ファイルの元の作成日ではなく、コピーが行われたときの作成日を持つ場合があります。)ただし、結果は「新しい」 「反対のようです:

コピーまたは移動のいずれかで表示されます:

バックグラウンドでは、test2のファイルは、test1のファイルの以前に作成されたコピーです。


ドライブE:のファイルシステムの種類は何ですか?FAT32NTFS?ネットワークドライブですか?
ピーターモーテンセン

E:とC:(「古い」ファイルがコピーされた場所)は両方ともNTFSです。
WBT

回答:


22

NTFSファイルシステムのタイムスタンプの解像度は100ナノ秒(0.0000001秒)です。プロパティダイアログに同じ丸められた値が表示されている場合でも、たとえば10秒以内にファイルが作成されている可能性があります。

(ほとんどのファイルシステムは、μsまたはnsで時間を測定します。FAT32は少しの遺物であり、タイムスタンプを2秒に丸めます。)

完全なタイムスタンプを比較するには、次のいずれかの方法を試してください。

wmic datafile where name="c:\\foo\\bar.txt" get lastmodified

パワーシェル:

(Get-ChildItem c:\foo\bar.txt).LastWriteTime.ToString("o")

test1のファイルは、test2からファイルをコピーして作成されたことを思い出してください。
WBT

その場合、タイムスタンプが実際に同一であることを確認できますか?
grawity


5
これが答えのようです。最終的に受け入れられる可能性があります。1つは「20170115002742.000000-300」のLastModifiedを提供し、もう1つは「20170115002742.160883-300」のLastModifiedを提供します。追加のテストでは、一部のコピー操作により秒の小数情報が消去されるようです。
WBT

4
それよりもさらに悪い。FAT32はファイル時間をローカル時間として保存するため、あらゆる種類の苦痛や悲しみになります。また、変更時間の解像度は2秒、作成時間の解像度は10秒、アクセス時間の解像度は1日です!
コーディグレー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.