【问题标题】:Copy files which matches requirement to the new folder将符合要求的文件复制到新文件夹
【发布时间】:2017-12-08 00:45:38
【问题描述】:

我有 2000 个文件 (patha) 的原始文件夹,现在我只想将符合我要求的文件 (grdc_no 中的列表) 复制到新路径 (pathb)。这是我的表现:

grdc_no <- grdc$grdc_no       
# list of file name satisfied with my requirement

all_files <- list.files("patha", full.names = TRUE)

for (f in all_files) {

  for (i in 1:length(grdc_no)) {

    if (f == grdc_no[i]) {
      file.copy(f, "pathb")
    } else {}
  }
}

但是,它不起作用。在这种情况下对我有什么建议吗?非常感谢

【问题讨论】:

    标签: r loops time-series


    【解决方案1】:

    您可以使用lapply 轻松完成此操作而无需循环(尤其是嵌套循环):

    lapply(all_files[basename(all_files) %in% grdc_no],function(x) file.copy(x,"pathb"))

    这将索引来自all_files 的文件,在向量grdc_no 中具有匹配的文件名,并将file.copy 应用于它。

    【讨论】:

    • 哇,正是我想要的。你的帮助对我来说真的很有价值。非常感谢。
    • 很高兴它有帮助,请考虑接受它作为解决方案。
    猜你喜欢
    • 2014-12-03
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    相关资源
    最近更新 更多