使用R提取目录中文件列表的文件名和修改日期

时间:2014-08-12 11:32:44

标签: r file

我有日期格式的文件列表" YYYYMMDD"。我需要以这种格式提取文件和修改日期,以便必须在过去7天内获取文件名。假设我的文件名为" 2014-08-12",#34; 2014-08-11",#34; 2014-08-10"," 2014 -08-08"和" 2014-08-01"。现在,在这5个文件中,我必须保留4个文件,这些文件是过去7天及其修改时间。

我在R中使用Code:

    library(tools)

y<-data.frame(FileName=basename(file_path_sans_ext(gsub(".*\\\\.*\\\\(.*)","\\1",dir()))),Modifiedtime=file.info(dir())$mtime)

i=1
z<-data.frame(a=y$FileName,b=y$Modifiedtime)

for (i in seq_len(nrow(z)))
{
  if(difftime(Sys.Date(), as.Date(y$FileName[i]), units = "days") <= 7)
    {

    dt<- cbind(z$a[i],z$b[i])  
    }
} 

我在dt中只获得1个文件名。我的问题是如何获得其他3个文件名。

1 个答案:

答案 0 :(得分:1)

要选择四个文件名,您可以这样做:

fn <- c("2014-08-12","2014-08-11","2014-08-10","2014-08-08","2014-08-01")
(fn <- fn[difftime(Sys.Date(), fn, units = "days") <= 7])
# [1] "2014-08-12" "2014-08-11" "2014-08-10" "2014-08-08"