Come trovare i file più recenti in una directory, incluse le sottodirectory?

Sto cercando un modo in Windows per elencare tutti i file in una determinata directory e le sue sottodirectory, ordinate in modo che i file più recenti siano in cima. C'è un modo semplice per farlo? Mi sarei anche accontentato di uno script Perl.

Se sei ancora interessato a una soluzione scritta, ho gettato rapidamente qualcosa che visualizzerà i file da tutte le directory:

#!C:/Perl/bin/perl.exe use File::Find; my %files = (); sub process { $files{$_} = (stat($_))[9] unless -d $_; } find (\&process, $ARGV[0]); foreach my $key(sort {$files{$b} <=> $files{$a}} keys %files) { print "$key\n"; } 

I file vengono visualizzati più recenti al più vecchio, mostrando solo il nome del file. In questo modo è ansible pipelare facilmente l'output di questo script ad un altro strumento di elaborazione senza wherer preoccuparsi di eliminare l'output in eccesso.

Utilizzo: perl find.pl <starting_directory>

Come questo: dir /s /o:-d

Se hai cygwin o simile installato allora find . -type f | xargs ls -tr find . -type f | xargs ls -tr find . -type f | xargs ls -tr farà il trucco. Potete quasi certamente fare la stessa cosa con il powerhell di Microsoft.

Nel caso in cui si utilizza Tutto , basta digitare il path e ordinare per Data modificata e si otterranno tutti i file in questa cartella in quell'ordine, indipendentemente dalla sottodirectory.

Tutto è gratuito, è disponibile una versione porttile.

Se non ti import di codificare (anche se questo prende la questione in un territorio Stack Overflow), allora ci sono le classi di Directory e File in C #.

Il metodo GetFiles ha un sovraccarico che restituirà tutti i nomi di file in tutte le sottodirectory. È quindi ansible eseguire un ciclo su questa list chiamando GetLastWriteTime per get la data / ora modificata. Memorizzare il nome e l'ora in un dictionary, ordinare all'ora e printingre i nomi dei file.

Ci sono anche le classi DirectoryInfo e FileInfo .

Dovrei aver aggiunto che tutta questa funzionalità è disponibile tramite Powershell , quindi non hai accesso ad un IDE completo.