使用 Perl 代码
use File::Find::Rule;
my @files = File::Find::Rule->file()
->mtime('<=' . (time() - 3600))
->in("/source/directory/path");
我的源目录中的文件列表至少在一小时内未被修改。
将此类文件移动到目标文件夹的最简单方法是什么? 错误处理也重要。
我是否必须使用循环逐个移动这些文件,还是有一些优雅而安全的方法来做到这一点?
答案 0 :(得分:3)
工作解决方案:
use File::Find::Rule;
use File::Copy;
my @files = File::Find::Rule
->file()
->mtime('<=' . (time() - 3600))
->exec( sub {
my $r = move($_[2], "/destination/directory/path");
print STDERR "$_[2]\t$!\n" if !$r;
$r
}
)
->in("/source/directory/path");