Cách chỉnh sửa dấu thời gian với Windows PowerShell

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề

Hướng dẫn sau đây trình bày cách bạn có thể chỉnh sửa dấu thời gian của tệp - tạo, truy cập lần cuối và ghi lần cuối - bằng Windows PowerShell.

PowerShell là một phần của bất kỳ phiên bản hiện đại nào của hệ điều hành Windows của Microsoft. Microsoft đã chuyển sang PowerShell từ Command Prompt trên Windows 10, nhưng không xóa dấu nhắc lệnh làm như vậy.

Người dùng và quản trị viên Windows 10 có quyền truy cập vào cả hai, nhưng trọng tâm phát triển rõ ràng nằm ở PowerShell.

Mỗi tệp trên Windows và các hệ điều hành khác cũng có một số dấu thời gian được liên kết với nó. Hệ thống tệp theo dõi thời gian tạo tệp, thời gian truy cập cuối cùng và thời gian ghi cuối cùng.

Cách chỉnh sửa dấu thời gian với Windows PowerShell

powershell change timestamp

Điều đầu tiên bạn cần làm là khởi chạy cửa sổ PowerShell. Nhấn vào phím Windows, nhập PowerShell và nhấn phím Enter sau đó. Lưu ý rằng điều này sẽ khởi chạy lời nhắc trong tài khoản người dùng hiện tại. Nếu bạn yêu cầu lời nhắc nâng cao, chẳng hạn để chỉnh sửa dấu thời gian tệp của các thư mục mà người dùng có quyền truy cập hạn chế, hãy giữ thêm phím Shift và phím Ctrl.

Ba lệnh mà bạn yêu cầu là những lệnh sau:

  • $ (Get-Item FILENAME.EXT) .creationtime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastaccesstime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastwritetime = $ (DATE)

Ba lệnh thay đổi dấu thời gian tạo, truy cập cuối cùng và ghi lần cuối của tệp khi bạn chạy chúng.

Ghi chú : Thời gian truy cập cuối cùng không được bật theo mặc định trên tất cả các phiên bản Windows được hỗ trợ vì lo ngại về hiệu suất.

Để cung cấp cho bạn một số ví dụ:

  • $ (Get-Item test.txt) .creationtime = $ (Get-Date)
  • $ (Get-Item test.txt) .lastaccesstime = $ (Get-Date '12/24/2011 07:15 am')

Lệnh đầu tiên đặt dấu thời gian tạo của tệp text.txt thành ngày và giờ hiện tại. Lệnh thứ hai thay đổi thời gian và ngày truy cập cuối cùng thành ngày 24 tháng 12 năm 2011 lúc 7:15 sáng.

Lưu ý rằng lệnh yêu cầu tệp nằm trong thư mục hiện tại của lời nhắc PowerShell.

Các lệnh hữu ích

Một khi điều có thể hữu ích là liệt kê các dấu thời gian tệp của thư mục hiện tại trước và sau khi bạn chạy lệnh PowerShell. Điều này giúp dễ dàng tìm thấy các tệp vẫn yêu cầu thay đổi và kiểm tra xem các thay đổi đã được áp dụng đúng chưa.

Get-ChildItem -force | Chế độ chọn-đối tượng, Tên, Thời gian tạo, Thời gian truy cập cuối cùng, Thời gian ghi cuối cùng | ft

powershell list timestamps

Lệnh liệt kê tất cả các tệp và thư mục của đường dẫn hiện tại, đồng thời hiển thị thời gian tạo, thời gian truy cập cuối cùng và thời gian ghi cuối cùng của mỗi mục trong bảng.

  • -force trong ngữ cảnh này bao gồm các tệp hệ thống và ẩn trong đầu ra.
  • ft là viết tắt của bảng định dạng.

Nếu bạn chỉ cần tạo dấu thời gian, hãy chạy Get-ChildItem -force thay thế.

Tập lệnh sau chạy thao tác trên tất cả các tệp.

$ modfiles = Get-ChildItem -force | Đối tượng ở đâu {! $ _. PSIsContainer}
foreach ($ object trong $ modfiles)
{
$ object.CreationTime = ('11/11/2011 12:00:00')

$ object.LastAccessTime = ('11/11/2011 12:00:00')

$ object.LastWritetime = ('11/11/2011 12:00:00')

}

Chỉ cần sao chép và dán nó, và thay đổi nó theo yêu cầu của bạn.

Mẹo: Nếu bạn thích giao diện người dùng đồ họa khi nói đến việc thay đổi dấu thời gian, hãy xem chương trình phần mềm miễn phí Attribute Changer thay thế.