14

我正在尝试在 R 中批量移动不同类型的文件。

origindir <- c("c:/origindir")
targetdir <- c("c/targetdir")
filestocopy <- c("myfile.doc", "myfile.rda", "myfile.xls", 
                 "myfile.txt", "myfile.pdf", "myfile.R")

我尝试了以下方法,但不知道如何处理所有文件:

file.copy(paste (origindir, "myfile.doc", sep = "/"), 
          paste (targetdir, "myfile.doc", sep = "/"), 
          overwrite = recursive, recursive = FALSE, 
          copy.mode = TRUE)

我不知道该怎么做。

4

2 回答 2

16

正如 Joran 和 Chase 在评论中已经指出的那样,您需要做的就是:

file.copy(from=filestocopy, to=targetdir, 
          overwrite = recursive, recursive = FALSE, 
          copy.mode = TRUE)

然后,如果您实际上是在移动文件,请使用以下命令删除原件:

file.remove(filestocopy)
于 2012-04-24T15:26:55.440 回答
1

只是扩大蔡斯的建议。

lapply(filestocopy, function(x) file.copy(paste (origindir, x , sep = "/"),  
          paste (targetdir,x, sep = "/"), recursive = FALSE,  copy.mode = TRUE))
于 2012-04-24T16:20:05.887 回答