我正在寻找文件夹中最年轻文件的日期。但是,它是一个大文件夹(+14 000个文件),所以我想有效地做到这一点。到目前为止,我想出了以下代码:
folder <- 'my/folder/path'
max(file.info(paste(folder,dir(folder),sep='/'))$mtime)
不幸的是,这需要很长时间(这是有道理的,因为他必须去询问每个文件的最后修改日期)。有没有办法像dir()一样在整个文件夹上同时应用此操作?我认为它应该是可能的,因为在Windows资源管理器中按日期排序只需不到一秒钟。
答案 0 :(得分:1)
嗯,我用于测试的文件夹中有+1,500个文件,以下解决方案的执行时间不到0.1秒。试一试!
## list files in current working directory
fls <- list.files()
## extract file with latest modification date
system.time({
fls_info <- file.info(fls)
fls_info[which.max(fls_info$mtime), ]
})
> user system elapsed
> 0.010 0.017 0.073