Si vous êtes toujours intéressé par une solution scriptée, j'ai rapidement jeté quelque chose ensemble qui affichera les fichiers de tous les répertoires ensemble:
#!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";
}
Les fichiers sont affichés du plus récent au plus ancien, affichant uniquement le nom du fichier. De cette façon, vous pouvez facilement diriger la sortie de ce script vers un autre outil pour le traitement sans avoir à vous soucier de supprimer la sortie excédentaire.
Usage: perl find.pl <starting_directory>
my $dir = ($#ARGV >= 0 ? $ARGV[0] : '.');
pourraient rencontrer cela): afin qu'il analyse le répertoire actuel si le paramètre de répertoire n'est pas donné, et pour inclure l'heure imprimée:print strftime('%Y-%m-%d %H:%M:%S', localtime((stat($key))[9])) . " $key\n";
$files{$key}
si vous souhaitez l'utiliserstrftime
lors de l'impression pour éviter un deuxième appel àstat()
. Si vous prévoyez de le rediriger vers un autre programme, je l'ai également modifié pour afficher le chemin complet des noms de fichiers. Vous pouvez le récupérer ici: pastebin.ca/1797748Comme ça:
dir /s /o:-d
la source
Si vous avez installé cygwin ou similaire, alors
find . -type f | xargs ls -tr
fera l'affaire. Vous pouvez presque certainement faire de même avec le PowerShell de Microsoft.la source
Dans le cas où vous utilisez tout , tapez simplement le chemin et triez par date de modification et vous obtiendrez tous les fichiers de ce dossier dans cet ordre, quel que soit le sous-répertoire.
Tout est freeware, une version portable est disponible.
la source
Si le codage ne vous dérange pas (bien que cela pose la question dans le territoire Stack Overflow), il y a les classes
Directory
etFile
en C #.La
GetFiles
méthode a une surcharge qui renverra tous les noms de fichiers dans tous les sous-répertoires. Vous pouvez ensuite parcourir cette liste en appelantGetLastWriteTime
pour obtenir la date / heure modifiée. Enregistrez le nom et l'heure dans un dictionnaire, triez l'heure et imprimez les noms de fichiers.Il y a aussi les classes
DirectoryInfo
etFileInfo
.J'aurais dû ajouter que toutes ces fonctionnalités sont disponibles via Powershell , vous n'avez donc pas accès à un IDE complet.
la source
Si vous avez installé quelque chose comme Git Bash ou Cygwin, vous devriez pouvoir utiliser l'une des réponses d'ici: /programming/4561895/how-to-recursively-find-the-latest-modified -fichier dans un répertoire
Celui qui a bien fonctionné pour moi est:
find . -type f -printf '%TF %TT %p\n' | sort -r
Vous pouvez également ajouter
| head -10
à la fin de cela pour voir uniquement les 10 plus récents, par exemple.la source