Bir dizin ve tüm alt dizinler için en son değiştirilen dosyaların listesi


14

Linux'ta bir dizindeki en son değiştirilmiş dosyaları tüm alt dizinleriyle bulmak ve listelemek için bu komutu biliyorum.

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

Windows CLI eşdeğeri var mı?


sadece değiştirilmiş dosyaları mı arıyorsunuz? Yoksa tüm dosyalara mı bakıyorsunuz?
Keltari

1
Eminim PowerShell bunu toplu işten çok daha kolay yapabilir , ancak ikincisini kesinlikle kullanmanız gerekiyorsa ... Deneyin dir /a-d /o-d /tw /s(yalnızca dosyaları göster, tarihe göre azalan sıralama, sıralama için son yazma süresini kullanın, alt dizinlere geri dönüş yapın). Ancak bu tüm dosyaları listeler. Listeyi yalnızca en son değiştirilen dosyalarla sınırlamak için, burada dbenham'ın mükemmel çözümünü kullanın .
Karan

Linux komutu hakkında birkaç yorum: (1) Bunun yerine, -execdüşünmek isteyebilirsiniz xargs. (2) Dediğiniz gibi, bir dizin (alt) ağacın tamamını değiştirme tarihine göre sıralamak (ve ardından en yeni N'ye bakmak ) istiyorsanız, sahip olduğunuz şey makul olur. Ancak, son N gün içinde değiştirilmiş tüm dosyaları bularak ihtiyacınız olan bilgileri alabiliyorsanız , bakın find … -mtime ….
Scott

2
Önceki yorumuma eklemek için, içine de bakabilirsiniz forfiles /s /d +<date>.
Karan

Yanıtlar:


21

PowerShell 2.0

En son değiştirilen 10 dosya

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

Verilen tarihten bu yana değişen dosyalar

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

Daha fazla bilgi için http://ss64.com/ps/


Dizinleri yalnızca değiştirilmiş dosyalarla göstermek istiyorsanız, bunu yapın. Dizin: \ sftp -r | ? {! $ _. PSIsContainer -AND $ _. Lastwritetime -ge '05 / 25/2018 '} | findstr Dizini
Rob

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

C: \ windows klasöründe arşiv özniteliği ayarlanmış (değiştirilmiş) tüm dosyaları ve tüm alt klasörlerini tarihe göre listeler (önce en yenisi)

Düzenleme: Bu yöntem yalnızca bir noktada arşiv bitlerini temizlerseniz veya liste büyüyüp büyüyecekse çalışır.


1
Arşiv özelliğinin yakın zamanda değiştirilen dosyalarla ne ilgisi var?
Karan

1
Herşey . Değişen herhangi bir dosya, işletim sistemi tarafından ayarlanan arşiv özniteliğini alır. Yedekleme programları bir dosyanın değiştiğini ve yedeklenmesi gerektiğini bilmektedir.
Keltari

3
Yaptığınız düzenleme son derece önemlidir. + A içeren dosyalar hiçbir değişiklik görmez. Neden Değiştirilme Tarihine göre bunu yapmanın bir yolunu bulamıyorsunuz?
Karan

0

MT Directory Değişiklik İzleyicisine bir göz atın. Belki ihtiyaçlarınız için doğru olabilir.

Program, belirli bir dizindeki (İzleme dizini) dosya değişikliklerini izler ve daha sonra değiştirilen dosyaları başka bir klasöre (Ayna dizini) kaydedilen dizin yapısına kopyalar. Bu, uzak sitenin yerel kopyasına sahip olduğunuzda ve yalnızca son yüklemeden sonra yerel olarak değiştirilen dosyaları yüklemek istediğinizde çok yararlı olabilir.

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.