Daftar file yang baru saja diubah untuk direktori dan semua subdirektori

14

Di Linux saya tahu perintah ini untuk menemukan dan mendaftar file yang dimodifikasi terbaru dalam direktori dengan semua subdirektori.

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

Apakah ada padanan Windows CLI?

JohnnyFromBF
sumber
Apakah Anda hanya mencari file yang dimodifikasi? Atau apakah Anda melihat semua file?
Keltari
1
Saya yakin PowerShell dapat melakukan ini jauh lebih mudah daripada batch, tetapi jika Anda benar - benar harus menggunakan yang terakhir ... Coba dir /a-d /o-d /tw /s(hanya tampilkan file, urutan berdasarkan tanggal turun, gunakan waktu tulis terakhir untuk menyortir, rekur ulang menjadi subdirs). Namun ini akan mencantumkan semua file. Untuk membatasi daftar hanya untuk n file yang dimodifikasi terbaru, gunakan solusi brilian dbenham di sini .
Karan
Beberapa komentar pada perintah Linux: (1) Alih-alih -exec, Anda mungkin ingin mempertimbangkan xargs. (2) Jika Anda, seperti yang Anda katakan, ingin mengurutkan seluruh pohon direktori (sub) berdasarkan tanggal modifikasi (dan kemudian melihat N terbaru ), maka apa yang Anda miliki masuk akal. Tetapi jika Anda bisa mendapatkan informasi yang Anda butuhkan dengan menemukan semua file yang dimodifikasi dalam N hari terakhir , lihat find … -mtime ….
Scott
2
Untuk menambahkan komentar saya sebelumnya, Anda juga dapat melihat forfiles /s /d +<date>.
Karan

Jawaban:

21

PowerShell 2.0

10 file terbaru yang diubah

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

Berubah file sejak tanggal yang diberikan

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

Baca lebih lanjut di http://ss64.com/ps/

nixda
sumber
Jika Anda hanya ingin menunjukkan direktori dengan file yang dimodifikasi, lakukan ini. Dir d: \ sftp -r | ? {! $ _. PSIsContainer -dan $ _. Lastwritetime -ge '05 / 25/2018 '} | findstr Directory
Rob
0
dir c:\windows\ /aa /s /O-D

Daftar semua file dengan set atribut arsip (dimodifikasi) di folder c: \ windows dan semua subfoldernya menurut tanggal (terbaru lebih dulu)

Sunting: Metode ini hanya akan berfungsi jika Anda menghapus bit arsip di beberapa titik atau daftar hanya akan tumbuh dan tumbuh.

Keltari
sumber
1
Apa kaitan atribut Arsip dengan file yang baru saja diubah?
Karan
1
Semuanya . File apa pun yang diubah akan mendapatkan atribut arsip yang ditetapkan oleh OS. Itulah cara program cadangan tahu bahwa file telah berubah dan perlu didukung.
Keltari
3
Hasil edit Anda sangat penting. File dengan + A sudah tidak akan melihat perubahan. Mengapa tidak menemukan cara untuk melakukan ini berdasarkan Tanggal Dimodifikasi?
Karan
0

Lihatlah MT Directory Changes Watcher. Mungkin itu tepat untuk kebutuhan Anda.

Program mengamati perubahan file dalam direktori tertentu (Direktori tontonan) dan kemudian menyalin file yang diubah ke folder lain (direktori Mirror) menyimpan struktur direktori. Ini bisa sangat berguna ketika Anda memiliki salinan lokal dari situs jarak jauh dan hanya ingin mengunggah file, diubah secara lokal setelah unggahan terakhir.

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

MiSHuTka
sumber