我正在尝试创建一个代码,将所有文件夹/文件从现有文件夹复制到另一个文件夹(原始文件夹包含文件和包含文件/文件夹的更多文件夹...)
我的想法是做这样的事情:
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为空项目创建一个新目录时,我的目标是用我需要的所有内容填充这个目录。
答案 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不存在(我猜)。