Дублировать / Скопировать один и тот же файл N раз - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть R-файл, который хранится в каталоге на моем компьютере.Я хотел бы создать 10 дубликатов этого R-файла в автоматическом режиме.10 дубликатов этого R-файла должны храниться в одном каталоге, и каждый из них должен иметь свое имя.

Пример:

Мой рабочий каталог:

getwd()
# [1] "D:/Example Directory"

С помощью функции dir я могу извлечь имена всех файлов, которые хранятся в этом каталоге:

path <- getwd()
dir(path)
# "1.R"

Единственный файл в этом каталогефайл R 1.R.Я хотел бы продублировать этот R-файл 10 раз.Дубликаты должны называться 2.R, 3.R, 4.R и т. Д.

Это можно легко сделать с помощью ручного копирования / вставки.Однако, поскольку мне приходится многократно дублировать файл, я ищу автоматизированный путь в R.

Вопрос: Как я могу дублировать этот файл R автоматизированным способом?

1 Ответ

0 голосов
/ 28 сентября 2018

Вы можете использовать функцию file.copy, которая требует исходного имени файла в качестве первого аргумента и принимает вектор имен имен файлов в качестве второго аргумента.

file.copy(dir(getwd()), paste0(2:10, ".R"))

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)
   }
}
...