【发布时间】:2012-05-05 04:42:19
【问题描述】:
我正在尝试在 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)
我不知道该怎么做。
【问题讨论】:
-
使用
lapply来迭代filestocopy的向量,在lapply 调用中创建一个匿名函数来替换您拥有myfile.doc...之类的lapply(filestocopy, function(x) file.copy(paste(origindir, x, sep = "/"), ... -
另外,看看
file.path()作为上面paste的替代品,它应该“比粘贴快”并且在R 本身中被广泛使用。 -
@Chase 我认为
file.copy中的 from 和 to 参数实际上是矢量化的。 -
@joran - 酷!如果是这样的话,它应该就像用
filestocopy替换myfile.doc那么简单......对吗? -
@Chase 是的。刚刚试了一下-from可以是文件路径向量,to可以是单个目录路径或文件路径向量。
标签: r copy-paste directory