Ngày tạo sai cho các tệp trong Windows khi sao chép tệp, nếu tệp đã tồn tại


9

Tôi gặp sự cố khi sao chép tệp (hoặc tạo tệp mới) trên Windows 7. Nếu tôi sao chép tệp, tôi hy vọng ngày được tạo là chính xác, nhưng đôi khi không phải vậy. Thông thường nó hoạt động, nhưng đây là một ví dụ về khi nó không hoạt động:

Tôi có hai thư mục trên máy tính để bàn, thư mục 1 và thư mục 2. Tôi tạo một tệp văn bản mới trong thư mục 1 có tên 852pm (hoặc bất cứ khi nào nó được tạo). Tôi sao chép tệp vào thư mục 2. Tệp đã sao chép có ngày tạo chính xác. Tôi xóa tập tin đã sao chép, đợi một phút và sao chép lại. Ngày tạo là sai. Ngày tạo là từ các tập tin bị xóa.

Tôi đã thử đổ thùng rác trước nhưng không được. Và đôi khi việc tạo một tệp mới có cùng tên sẽ hiển thị ngày tạo cũ (và với một ngày mới được sửa đổi).

Lý do tại sao điều này xảy ra? Làm cách nào để tạo các tệp mới trong tình huống này hiển thị ngày tạo chính xác?

Câu trả lời:


11

Tập tin đường hầm

Trích dẫn bài viết KB chính thức Windows NT Chứa khả năng đường hầm hệ thống tệp :

Điều này xảy ra sau khi xóa hoặc đổi tên và giới thiệu lại một mục nhập thư mục mới với thông tin meta đó (nếu việc tạo hoặc đổi tên xảy ra để làm cho một tệp có tên đó xuất hiện lại trong một khoảng thời gian ngắn).

Ý tưởng là bắt chước hành vi mà các chương trình MS-DOS mong đợi khi chúng sử dụng phương thức lưu an toàn. Họ sao chép dữ liệu đã sửa đổi vào một tệp tạm thời, xóa bản gốc và đổi tên tạm thời thành bản gốc. Đây có vẻ là tập tin gốc khi hoàn thành. Windows thực hiện đường hầm trên cả hai hệ thống tệp FAT và NTFS để đảm bảo tên tệp dài / ngắn được giữ lại khi các ứng dụng 16 bit thực hiện thao tác lưu an toàn này.

Bài viết cũng giải thích cách tăng thời gian bộ đệm hoặc vô hiệu hóa các khả năng đường hầm hoàn toàn.

Vô hiệu hóa đường hầm tập tin

  1. Nhấn Win+ R, gõ regedit, sau đó bấm OK .

  2. Điều hướng đến khoá đăng ký sau:

    HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ Control \ FileSystem
    
  3. Bấm chuột phải vào một vùng trống trong khung bên phải và chọn Giá trị mới> DWORD (32-bit) .

  4. Đặt tên cho giá trị mới MaximumTunnelEntries.
    Đảm bảo rằng nó được đặt thành 0: điều này có nghĩa là không có mục đường hầm nào được tạo.

Thông tin thêm

Cái tên "đường hầm" xuất phát từ cơ học lượng tử (khá tuyệt):

Nhà phát triển chịu trách nhiệm triển khai đường hầm trên Windows 95 đã bị loại bỏ với sự tương tự cơ học lượng tử: Các đoạn thông tin về các tệp bị xóa gần đây hoặc được đổi tên gần đây được giữ trong các cấu trúc dữ liệu được gọi là "quark".

Nguồn: Lịch sử tận thế của đường hầm hệ thống tập tin

đọc thêm


0

Bạn có thể cập nhật thời gian tạo bằng lệnh này theo cách thủ công:

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

... và tương tự trong một tệp bó:

call powershell "(ls YourFile.txt).CreationTime = Get-Date"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.