ファイルがすでに存在している場合、ファイルをコピーするときにWindowsでファイルに作成された日付が間違っている


9

Windows 7でファイルをコピーする(または新しいファイルを作成する)ときに問題が発生します。ファイルをコピーすると、作成された日付が正しいことが期待されますが、正しくない場合もあります。通常は機能しますが、機能しない場合の例を次に示します。

デスクトップにフォルダー1とフォルダー2の2つのフォルダーがあります。フォルダー1に852pmという名前の新しいテキストファイルを作成します(または作成されたときはいつでも)。ファイルをフォルダー2にコピーします。コピーしたファイルの作成日は正しいです。コピーしたファイルを削除し、少し待ってからもう一度コピーします。作成日が間違っています。作成日は削除されたファイルからのものです。

最初にごみ箱を空にしてみましたが、うまくいきません。また、同じ名前で新しいファイルを作成すると、古い作成日が表示されます(新しい日付が変更されます)。

なぜこれが起こるのですか?この状況で新しいファイルを作成するには、正しい作成日を表示するにはどうすればよいですか?

回答:


11

ファイルトンネリング

公式KBの記事の引用のWindows NTは、ファイルシステムトンネリング機能が含まれています

これは、そのメタ情報を使用して新しいディレクトリエントリを削除または名前変更および再導入した後に発生します(作成または名前変更が発生して、その名前のファイルが短時間で再び表示される場合)。

その考え方は、MS-DOSプログラムが安全な保存方法を使用するときに期待する動作を模倣することです。変更されたデータを一時ファイルにコピーし、元のファイルを削除して、一時ファイルの名前を元のファイルに変更します。完了すると、これは元のファイルのように見えるはずです。Windowsは、FATファイルシステムとNTFSファイルシステムの両方でトンネリングを実行し、16ビットアプリケーションがこの安全な保存操作を実行するときに、長い/短いファイル名が確実に保持されるようにします。

また、キャッシュ時間を増やす方法、またはトンネリング機能を完全に無効にする方法についても説明します。

ファイルトンネリングを無効にする

  1. Win+を押してR、と入力しregedit、[ OK ]をクリックします。

  2. 次のレジストリキーに移動します。

    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
    
  3. 右ペインの空の領域を右クリックし、[ 新規]> [DWORD(32ビット)値 ]を選択します。

  4. 新しい値に名前を付けますMaximumTunnelEntries
    に設定されていることを確認してください0。これは、トンネルエントリが作成されないことを意味します。

追加情報

「トンネリング」という名前は、量子力学(かなりクール)に由来しています。

Windows 95でのトンネリングの実装を担当した開発者は、量子力学のアナロジーに夢中になりました。最近削除されたファイルまたは最近名前が変更されたファイルに関する情報の断片は、「クォーク」と呼ばれるデータ構造に保持されます。

出典:ファイルシステムトンネリングの歴史

参考文献


0

このコマンドを使用して作成時間を手動で更新できます。

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

...バッチファイルでも同じ:

call powershell "(ls YourFile.txt).CreationTime = Get-Date"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.