Risposte:
Se sei ancora interessato a una soluzione con script, ho rapidamente lanciato qualcosa che mostrerà i file di tutte le directory insieme:
#!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 dal più recente al meno recente, mostrando solo il nome del file. In questo modo è possibile reindirizzare facilmente l'output di questo script a un altro strumento per l'elaborazione senza doversi preoccupare di eliminare l'output in eccesso.
Uso: perl find.pl <starting_directory>
my $dir = ($#ARGV >= 0 ? $ARGV[0] : '.');
modo da scansionare la directory corrente se non viene fornito il parametro della directory e per includere il tempo stampato:print strftime('%Y-%m-%d %H:%M:%S', localtime((stat($key))[9])) . " $key\n";
$files{$key}
se si desidera utilizzarlo per strftime
quando si stampa per evitare una seconda chiamata a stat()
. Se hai intenzione di collegarlo a un altro programma, l'ho anche modificato per visualizzare il percorso completo dei nomi dei file. Puoi prenderlo qui: pastebin.ca/1797748
Se hai cygwin o simili installati, allora find . -type f | xargs ls -tr
farà il trucco. Puoi quasi certamente fare lo stesso con PowerShell di Microsoft.
Nel caso in cui tu stia usando Tutto , digita semplicemente il percorso e ordina per Data di modifica e otterrai tutti i file in questa cartella in quell'ordine, indipendentemente dalla sottodirectory.
Tutto è freeware, è disponibile una versione portatile.
Se non ti dispiace codificare (anche se questo porta la domanda nel territorio di Stack Overflow), allora ci sono le classi Directory
e File
in C #.
Il GetFiles
metodo ha un sovraccarico che restituirà tutti i nomi di file in tutte le sottodirectory. È quindi possibile scorrere su questo elenco, chiamando GetLastWriteTime
per ottenere la data / ora modificata. Memorizza il nome e l'ora in un dizionario, ordina l'ora e stampa i nomi dei file.
C'è anche la classe DirectoryInfo
e FileInfo
.
Avrei dovuto aggiungere che tutte queste funzionalità sono disponibili tramite Powershell , quindi non hai accesso a un IDE completo.
Se hai installato qualcosa come Git Bash o Cygwin, dovresti essere in grado di utilizzare una delle risposte da qui: /programming/4561895/how-to-recursively-find-the-latest-modified -file-in-a-directory
Uno che ha funzionato bene per me è: find . -type f -printf '%TF %TT %p\n' | sort -r
Puoi anche aggiungere | head -10
alla fine quello per vedere solo i 10 più recenti, diciamo.