文件夹中最年轻的文件

时间:2016-01-08 10:34:33

标签: r

我正在寻找文件夹中最年轻文件的日期。但是,它是一个大文件夹(+14 000个文件),所以我想有效地做到这一点。到目前为止,我想出了以下代码:

folder <- 'my/folder/path'
max(file.info(paste(folder,dir(folder),sep='/'))$mtime)

不幸的是,这需要很长时间(这是有道理的,因为他必须去询问每个文件的最后修改日期)。有没有办法像dir()一样在整个文件夹上同时应用此操作?我认为它应该是可能的,因为在Windows资源管理器中按日期排序只需不到一秒钟。

1 个答案:

答案 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