Respostas:
Se você ainda estiver interessado em uma solução com script, juntei rapidamente algo que exibirá arquivos de todos os diretórios:
#!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";
}
Os arquivos são exibidos do mais recente para o mais antigo, mostrando apenas o nome do arquivo. Dessa maneira, você pode canalizar facilmente a saída desse script para outra ferramenta de processamento sem precisar se preocupar em eliminar a saída em excesso.
Uso: perl find.pl <starting_directory>
my $dir = ($#ARGV >= 0 ? $ARGV[0] : '.');para que ele varra o diretório atual se o parâmetro do diretório não for fornecido e inclua o tempo impresso:print strftime('%Y-%m-%d %H:%M:%S', localtime((stat($key))[9])) . " $key\n";
$files{$key}se você quiser usá-lo durante a strftimeimpressão para evitar uma segunda chamada stat(). Se você planeja canalizá-lo para outro programa, também o modifiquei para exibir o caminho completo dos nomes de arquivos. Você pode obtê-lo aqui: pastebin.ca/1797748
Se você tem o cygwin ou similar instalado, find . -type f | xargs ls -trele fará o truque. Você quase certamente pode fazer o mesmo com o PowerShell da Microsoft.
Caso esteja usando Tudo , basta digitar o caminho e classificar por Data de modificação e você obterá todos os arquivos nesta pasta nessa ordem, independentemente do subdiretório.
Tudo é freeware, uma versão portátil está disponível.
Se você não se importa em codificar (embora isso leve a questão ao território Stack Overflow), existem as classes Directorye Fileem C #.
O GetFilesmétodo possui uma sobrecarga que retornará todos os nomes de arquivos em todos os subdiretórios. Você pode percorrer esta lista, ligando GetLastWriteTimepara obter a data / hora modificada. Armazene o nome e a hora em um dicionário, classifique a hora e imprima os nomes dos arquivos.
Há também as classes DirectoryInfoe FileInfo.
Eu deveria ter acrescentado que toda essa funcionalidade está disponível via Powershell , para que você não tenha acesso a um IDE completo.
Se você tiver algo como Git Bash ou Cygwin instalado, poderá usar uma das respostas aqui: /programming/4561895/how-to-recursively-find-the-latest-modified -file-in-a-directory
Um que funcionou bem para mim é: find . -type f -printf '%TF %TT %p\n' | sort -r
Você também pode adicionar | head -10ao final disso para ver apenas os 10 mais recentes, digamos.