从几个目录复制文件

时间:2014-06-23 10:28:38

标签: r file directory rstudio

我正在尝试创建一个代码,将所有文件夹/文件从现有文件夹复制到另一个文件夹(原始文件夹包含文件和包含文件/文件夹的更多文件夹...)

我的想法是做这样的事情:

files <- list.files (Dir.origen)

for (i in files)
{  
  if (!file.info (paste(Dir.origen, i, sep = "/"))$isdir) 
    file.copy (paste(Dir.origen, i, sep = "/"), Dir.dest)
  else dir.create (paste(Dir.dest,i,sep = "/"))
}

并在for语句中插入相同的else循环,并在其中插入更多循环。

我的问题是,是否有办法复制整个目录。

每次我在RStudio中创建一个新项目时,我也有兴趣获取此代码。

当RStudio为空项目创建一个新目录时,我的目标是用我需要的所有内容填充这个目录。

1 个答案:

答案 0 :(得分:3)

我找到了一个答案,它似乎更容易:

Dir.origen2 <- gsub("/","\\\\", Dir.origen) # Directiories must use backslashes
Dir.dest2 <- gsub("/","\\\\", Dir.dest)

comando <- paste0 ("xcopy ", Dir.origen2, " ", Dir.dest2, " /e /i /y")
system(comando)

其中/e用于复制所有目录(包括清空),/y用于请求覆盖文档,/i用于创建新目录(如果Dir.dest不存在(我猜)。