Перемещение нескольких файлов в R с помощью цикла - PullRequest
0 голосов
/ 13 ноября 2018

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

Я работаю над сценарием, который будет архивировать файлы из одного места в другое.Проблема в том, что R не перемещает файлы, когда я использую file.rename () для нескольких файлов в цикле или если я пытаюсь использовать его в 1 строке с вектором старых путей и вектором новых путей.Например,

for (i in 1:length(old_files_all)) {
  try(file.rename(from = file.path(old_files_all[i]), to = file.path(new_paths[i])))
  #or without try/file.path inside of method ^
}

Такой цикл не перемещает файл, но когда я запускаю код вручную для каждой позиции цикла, например:

try(file.rename(from = file.path(old_files_all[1]), to = file.path(new_paths[1])))

Он работает ....

Не могли бы вы, ребята, помочь мне, как решить эту «проблему».Заранее спасибо.

1 Ответ

0 голосов
/ 13 ноября 2018

вы можете использовать file.rename с векторами напрямую без цикла.

#create some example files
file.create(paste0("test", formatC(1:10, width = 2, flag = "0"), ".txt"))
#create vectors with old and new file names
files_old <- list.files(pattern = "^test[0-9]{2}\\.txt", getwd())
files_new <- paste0(getwd(), "//Delete//", files_old)

#move files
file.rename(from = files_old, to = files_new)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...