Answers:
如果您仍然对脚本化解决方案感兴趣,那么我会迅速将一些东西放在一起,这些东西将一起显示所有目录中的文件:
#!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";
}
文件显示从最新到最早,仅显示文件名。这样,您可以轻松地将此脚本的输出传递到另一个工具进行处理,而不必担心会剥离多余的输出。
用法: perl find.pl <starting_directory>
my $dir = ($#ARGV >= 0 ? $ARGV[0] : '.');
这样,如果未提供目录参数,它将扫描当前目录,并包括打印时间:print strftime('%Y-%m-%d %H:%M:%S', localtime((stat($key))[9])) . " $key\n";
$files{$key}
如果要strftime
在打印时使用它,则应将mtime存储在其中,以避免再次调用stat()
。如果您打算将其管道传输到另一个程序,则我还对其进行了修改,以显示文件名的完整路径。您可以在此处获取:pastebin.ca/1797748
如果您使用的是Everything,则只需键入路径并按“ 修改日期”排序,您将以该顺序获得此文件夹中的所有文件,而不管子目录是什么。
一切都是免费软件,便携式版本可用。
如果您不介意编码(尽管这会将问题带入Stack Overflow领域),则C#中有Directory
and File
类。
该GetFiles
方法有一个重载,它将返回所有子目录中的所有文件名。然后,您可以遍历此列表,调用GetLastWriteTime
以获取修改的日期/时间。将名称和时间存储在字典中,按时间排序并打印出文件名。
我应该补充说所有这些功能都可以通过Powershell获得,因此您无权访问完整的IDE。
如果您安装了Git Bash或Cygwin之类的东西,则应该能够从此处使用以下答案之一:https : //stackoverflow.com/questions/4561895/how-to-recursively-find-the-latest-modified目录中的文件
对我来说效果很好的一个是: find . -type f -printf '%TF %TT %p\n' | sort -r
您还| head -10
可以在末尾添加内容,例如只查看最近的10个。