R 文件副本,根据需要制作目录

R 文件副本,根据需要制作目录,r,R,类似于,我想要一个函数,当使用file.copy时,它会自动在不存在子目录的地方生成子目录。当前我收到错误信息: In file.copy( ... : 'recursive' will be ignored as 'to' is not a single existing directory 不幸的是,使用如下函数: my.file.copy<- function(from, to, ...) { todir <- dirname(to) if (!isTRU

类似于,我想要一个函数,当使用
file.copy
时,它会自动在不存在子目录的地方生成子目录。当前我收到错误信息:

In file.copy( ... :
  'recursive' will be ignored as 'to' is not a single existing directory
不幸的是,使用如下函数:

my.file.copy<- function(from, to, ...) {
    todir <- dirname(to)
    if (!isTRUE(file.info(todir)$isdir)) dir.create(todir, recursive=TRUE)
    file.copy(from = from,  to = to, ...)
}

my.file.copy根据将
传递给函数的方法,我们可以使用其中一个参数

1) 如果只使用目录名将
传递到
,并希望它从
参数中获取文件名,我们可以使用以下函数

my.file.copy_dir <- function(from, to, ...) {
   if (!dir.exists(to))  dir.create(to, recursive = TRUE) 
   file.copy(from = from,  to = paste0(to, basename(from)), ...)
}
并将其用作:

my.file.copy_dir("/path/of/file/report.pdf", "/new/path/of/file/")


函数是否有办法确定它是自动传递的目录还是文件?啊,我想我可以使用:thanks@Alex是的,您可以使用它,但理想情况下,最好将输入标准化。如果您查看
file.copy
它只接受完整路径,而不接受文件夹和路径两者。我没有看到“file.copy它只接受完整路径…”
my.file.copy_dir("/path/of/file/report.pdf", "/new/path/of/file/")
my.file.copy_file("/path/of/file/report.pdf", "/new/path/of/file/abc.pdf")