复制/复制同一文件 N 次

JSP*_*JSP 3 directory automation r file duplicates

我有一个 R 文件存储在我的计算机上的目录中。我想以自动方式创建此 R 文件的 10 个副本。该 R 文件的 10 个副本应存储在同一目录中,并且每个副本应具有不同的文件名。

例子:

我的工作目录:

getwd()
# [1] "D:/Example Directory"
Run Code Online (Sandbox Code Playgroud)

使用dir 函数,我可以提取存储在该目录中的所有文件的名称:

path <- getwd()
dir(path)
# "1.R"
Run Code Online (Sandbox Code Playgroud)

该目录中唯一的文件是 R 文件1.R。我想复制这个 R 文件 10 次。重复项应称为2.R3.R4.R等等。

这可以通过手动复制/粘贴轻松完成。但是,由于我必须多次复制该文件,因此我正在 R 中寻找一种自动化方法。

问题:如何以自动方式复制此 R 文件?

PoG*_*bas 5

您可以使用file.copy需要原始文件名作为第一个参数并接受所需文件名向量作为第二个参数的函数。

file.copy(dir(getwd()), paste0(2:10, ".R"))
Run Code Online (Sandbox Code Playgroud)

PS:确保当前目录开头只有一个文件。


list.files或者您可以使用和的安全解决方案file.exists

nFiles <- 10
myFile <- list.files(pattern = "\\d.R")
for(i in seq_len(nFiles)) {
   wantedFile <- sub("\\d", i, myFile)
   if (!file.exists(wantedFile)) {
      file.copy(myFile, wantedFile)
   }
}
Run Code Online (Sandbox Code Playgroud)