Trang chủ » làm thế nào để » Cách xóa tệp cũ hơn X ngày trên Windows

    Cách xóa tệp cũ hơn X ngày trên Windows

    Chúng tôi đã cho bạn thấy lớp vỏ Linux có thể linh hoạt như thế nào, nhưng điều đó không có nghĩa là Windows còn ở phía sau. Đây là hai kỹ thuật bạn có thể sử dụng tùy thuộc vào sở thích shell, cmd hoặc PowerShell của bạn.

    PowerShell 3

    Get-ChildItem -Path dục C: \ Sao lưu -Recurse | Thời gian tạo đối tượng ở đâu -lt (Nhận ngày) .AddDays (-5) | Loại bỏ mục

    PowerShell 2

    Get-ChildItem -Path dục C: \ Sao lưu -Recurse | Trường hợp-Đối tượng $ _. CreationTime -lt (Ngày nhận) .AddDays (-5) | Loại bỏ mục

    Giải trình

    • Đầu tiên chúng ta nhận được các đối tượng FileInfo và DirectoryInfo trong Đường dẫn C: \ Backup.
    • Cả hai đối tượng FileInfo và DirectoryInfo đều chứa thuộc tính CreationTime, vì vậy chúng ta có thể lọc bộ sưu tập bằng cách sử dụng.
    • Toán tử -lt (ít hơn) sau đó được sử dụng để so sánh thuộc tính CreationTime của các đối tượng với Ngày nhận (ngày hiện tại) trừ đi 5 ngày.
    • Điều này sau đó để lại cho chúng tôi một bộ sưu tập các đối tượng đã được tạo ra hơn 5 ngày trước, mà chúng tôi chuyển đến Remove-Item.

    Mẹo chuyên nghiệp

    Để xem những gì sẽ được loại bỏ, bạn có thể sử dụng tham số -What If:

    Get-ChildItem -Path dục C: \ Sao lưu -Recurse | Thời gian tạo đối tượng ở đâu -lt (Nhận ngày) .AddDays (-5) | Xóa-Mục -What If

    Dấu nhắc lệnh

    Mặc dù chúng tôi khuyên bạn nên sử dụng một trong các phương thức PowerShell, nhưng không đi sâu vào bất kỳ chi tiết nào, bạn cũng có thể thực hiện điều đó từ dấu nhắc lệnh.

    forfiles -p "C: \ Sao lưu" -s -m *. * -d -5 -c "cmd / c del @path"

    Mẹo chuyên nghiệp

    Để xem những tập tin nào sẽ bị xóa, bạn có thể sử dụng echo.

    forfiles -p "C: \ Sao lưu" -s -m *. * -d -5 -c "cmd / c echo @file"