我正在查找文件夾中最年輕的文件的日期。但是,它是一個大文件夾(+14 000個文件),所以我想要有效地做到這一點。到目前爲止,我想出了下面的代碼:文件夾中最年輕的文件
folder <- 'my/folder/path'
max(file.info(paste(folder,dir(folder),sep='/'))$mtime)
不幸的是這需要年齡(這是有道理的,因爲他去,並要求其最後修改日期的每個文件)。有沒有辦法像dir()一樣使用整個文件夾的這個操作?我認爲這應該是可能的,因爲按日期在Windows資源管理器中排序不到一秒鐘。
需要多少時間?我沒有看到任何明顯的方式來加速事情。但是,不要使用'paste',只需使用'dir(...,full.names = TRUE)',它可以給你完整的路徑,而不僅僅是文件名。也許這是'粘貼'部分,它需要一些時間。如果這還不夠,可以考慮通過'system'調用'ls'(如果你在Linux下)。 – nicola
每100個文件大約7秒 – takje
這非常奇怪,因爲對@fdetsch的回答,我測試了你的代碼,並且它對於1000 +文件夾需要不到一秒的時間。 100個文件7秒鐘是巨大的。也許你的文件系統嚴重分散。 – nicola