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 astrftime
impressão para evitar uma segunda chamadastat()
. 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/1797748Como isso:
dir /s /o:-d
fonte
Se você tem o cygwin ou similar instalado,
find . -type f | xargs ls -tr
ele fará o truque. Você quase certamente pode fazer o mesmo com o PowerShell da Microsoft.fonte
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.
fonte
Se você não se importa em codificar (embora isso leve a questão ao território Stack Overflow), existem as classes
Directory
eFile
em C #.O
GetFiles
método possui uma sobrecarga que retornará todos os nomes de arquivos em todos os subdiretórios. Você pode percorrer esta lista, ligandoGetLastWriteTime
para 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
DirectoryInfo
eFileInfo
.Eu deveria ter acrescentado que toda essa funcionalidade está disponível via Powershell , para que você não tenha acesso a um IDE completo.
fonte
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 -10
ao final disso para ver apenas os 10 mais recentes, digamos.fonte