Danh sách các tệp đã thay đổi gần đây cho một thư mục và tất cả các thư mục con


14

Trong Linux, tôi biết lệnh này để tìm và liệt kê các tệp sửa đổi mới nhất trong một thư mục có tất cả các thư mục con của nó.

find /var/www/ -type f -exec stat --format '%Y :%y %n' {} \; | sort -nr | cut -d: -f2- | head

Có tương đương Windows CLI không?


bạn đang tìm kiếm các tập tin chỉ sửa đổi? Hay bạn đang xem tất cả các tập tin?
Keltari

1
Tôi chắc chắn PowerShell có thể làm điều này đến nay dễ dàng hơn mẻ, nhưng nếu bạn hoàn toàn phải sử dụng sau này ... Hãy thử dir /a-d /o-d /tw /s(hiển thị tập tin duy nhất, thứ tự theo ngày giảm dần, sử dụng cuối cùng thời gian ghi để phân loại, recurse vào subdirs). Tuy nhiên điều này sẽ liệt kê tất cả các tập tin. Để giới hạn danh sách chỉ n tệp được sửa đổi mới nhất, hãy sử dụng giải pháp tuyệt vời của dbenham tại đây .
Karan

Một vài ý kiến ​​về lệnh Linux: (1) Thay vì -exec, bạn có thể muốn xem xét xargs. (2) Nếu bạn, như bạn nói, muốn sắp xếp toàn bộ cây thư mục (phụ) theo ngày sửa đổi (và sau đó xem N mới nhất ), thì những gì bạn có là hợp lý. Nhưng nếu bạn có thể lấy thông tin bạn cần bằng cách tìm tất cả các tệp được sửa đổi trong N ngày qua, hãy xem find … -mtime ….
Scott

2
Để thêm vào nhận xét trước đây của tôi, bạn cũng có thể xem xét forfiles /s /d +<date>.
Karan

Câu trả lời:


21

PowerShell 2.0

10 tập tin thay đổi mới nhất

Dir C:\folder -r | ? {! $_.PSIsContainer} | sort LastWriteTime | select -last 10

Thay đổi tập tin kể từ ngày đã cho

Dir C:\folder -r | ? {! $_.PSIsContainer -AND $_.lastwritetime -ge '04/18/14'} 

Đọc thêm về http://ss64.com/ps/


Nếu bạn chỉ muốn hiển thị các thư mục với các tập tin sửa đổi, hãy làm điều này. Chỉ thị d: \ sftp -r | ? {! $ _. PSIsContainer -AND $ _. Lastwritetime -ge '05 / 25/2018 '} | Thư mục findstr
Rob

0
dir c:\windows\ /aa /s /O-D

Liệt kê tất cả các tệp có thuộc tính lưu trữ được đặt (sửa đổi) trong thư mục c: \ windows và tất cả các thư mục con của nó theo ngày (mới nhất trước)

Chỉnh sửa: Phương pháp này sẽ chỉ hoạt động nếu bạn xóa các bit lưu trữ tại một số điểm hoặc danh sách sẽ chỉ tăng lên và phát triển.


1
Thuộc tính Lưu trữ phải làm gì với các tệp đã thay đổi gần đây?
Karan

1
Mọi thứ . Bất kỳ tệp nào được thay đổi đều có thuộc tính lưu trữ được đặt bởi HĐH. Đó là cách các chương trình sao lưu biết rằng một tệp đã thay đổi và cần được sao lưu.
Keltari

3
Chỉnh sửa của bạn là vô cùng quan trọng. Các tệp có + A sẽ không có thay đổi. Tại sao không tìm cách nào đó để làm điều này dựa trên Ngày Sửa đổi?
Karan

0

Hãy xem MT Directory Change Watcher. Có thể nó là phù hợp với nhu cầu của bạn.

Chương trình theo dõi các thay đổi tệp trong thư mục cụ thể (thư mục Watch) và sau đó sao chép các tệp đã thay đổi sang thư mục khác (thư mục Mirror) lưu cấu trúc thư mục. Điều này có thể rất hữu ích khi bạn có bản sao cục bộ của trang web từ xa và chỉ muốn tải lên các tệp, thay đổi cục bộ sau lần tải lên cuối cùng.

http://mito-team.com/projects/dcw

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.