Respuestas:
Si todavía está interesado en una solución con script, rápidamente he agregado algo que mostrará archivos de todos los directorios juntos:
#!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";
}
Los archivos se muestran más nuevos a más antiguos, mostrando solo el nombre del archivo. De esta forma, puede canalizar fácilmente la salida de este script a otra herramienta para el procesamiento sin tener que preocuparse por eliminar el exceso de salida.
Uso: perl find.pl <starting_directory>
my $dir = ($#ARGV >= 0 ? $ARGV[0] : '.');
para que escanee el directorio actual si no se proporciona el parámetro del directorio e incluya el tiempo que se imprime:print strftime('%Y-%m-%d %H:%M:%S', localtime((stat($key))[9])) . " $key\n";
$files{$key}
si desea usarlo para strftime
imprimir para evitar una segunda llamada stat()
. Si planea canalizarlo a otro programa, también lo modifiqué para mostrar la ruta completa de los nombres de archivo. Puede obtenerlo aquí: pastebin.ca/1797748
Si tiene instalado cygwin o similar, entonces find . -type f | xargs ls -tr
hará el truco. Es casi seguro que puedes hacer algo similar con el PowerShell de Microsoft.
En caso de que esté usando Everything , simplemente escriba la ruta y ordene por Fecha de modificación y obtendrá todos los archivos en esta carpeta en ese orden, independientemente del subdirectorio.
Todo es freeware, hay disponible una versión portátil.
Si no le importa codificar (aunque esto lleva la pregunta al territorio de desbordamiento de pila), existen las clases Directory
y File
en C #.
El GetFiles
método tiene una sobrecarga que devolverá todos los nombres de archivo en todos los subdirectorios. Luego puede recorrer esta lista, llamando GetLastWriteTime
para obtener la fecha / hora modificada. Almacene el nombre y la hora en un diccionario, ordene la hora e imprima los nombres de archivo.
También hay clases DirectoryInfo
y FileInfo
.
Debería haber agregado que toda esta funcionalidad está disponible a través de Powershell , por lo que no tiene acceso a un IDE completo.
Si tiene instalado algo como Git Bash o Cygwin, debería poder usar una de las respuestas desde aquí: /programming/4561895/how-to-recursively-find-the-latest-modified -archivo-en-un-directorio
Uno que funcionó bien para mí es: find . -type f -printf '%TF %TT %p\n' | sort -r
También puede agregar | head -10
al final de eso para ver solo los 10 más recientes, por ejemplo.