回答:
スクリプト化されたソリューションにまだ興味があるなら、私はすぐにすべてのディレクトリのファイルを一緒に表示する何かを一緒に投げました:
#!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 を使用する場合は、mtimeを保存する必要がありますstat()
。別のプログラムにパイピングする予定がある場合は、ファイル名のフルパスを表示するように変更しました。ここでそれをつかむことができます:pastebin.ca/1797748
cygwinまたは同様のものがインストールされている場合find . -type f | xargs ls -tr
は、トリックを実行します。MicrosoftのPowerShellでもほぼ確実に同様のことができます。
あなたが使用している場合はすべてを、ただパスを入力し、ソートによって変更日、あなたは関係なく、サブディレクトリ、そのために、このフォルダ内のすべてのファイルを取得します。
すべてがフリーウェアであり、ポータブル版が利用可能です。
コーディングを気にしない場合(これはStack Overflow領域に問題を取りますが)、C#にはDirectory
とFile
クラスがあります。
このGetFiles
メソッドには、すべてのサブディレクトリ内のすべてのファイル名を返すオーバーロードがあります。次に、このリストをループしてGetLastWriteTime
、変更された日付/時刻を取得するために呼び出します。名前と時間を辞書に保存し、時間で並べ替えてファイル名を印刷します。
クラスもDirectoryInfo
ありFileInfo
ます。
この機能はすべて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個だけを表示することもできます。