将一个大的文件列表移动到一个文件夹中,并从R中的原始文件夹中删除它们

gupuwyp2  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(114)

我试图将一个大的文件列表移动到一个新创建的文件夹中,并从原始文件夹中删除这些文件。我将使用base R附带的一些数据作为示例,希望使此操作易于重现。

library(dplyr)

DNase %>% write.csv("movethis_1.csv")
mtcars %>% write.csv("movethis_2.csv")

files_to_move <- list.files(pattern = "movethis")

如何将files_to_move的所有成员移动到工作目录中名为folder_new的新文件夹中,并将它们从原始文件夹中删除?我已经找到了处理原始文件的方法,但在将其应用到列表中时遇到了问题。我尝试执行以下操作:“

file.copy(from = paste0("MYDIRECTORYNAME", files_to_move),
          to = paste0("MYDIRECTORYNAME/folder_new", files_to_move))

但是,文件没有移动,我得到了以下结果:

[1] FALSE FALSE
q3qa4bjr

q3qa4bjr1#

以您的示例为例,以下是完整的工作流程:

library(dplyr)

DNase %>% write.csv("movethis_1.csv")
mtcars %>% write.csv("movethis_2.csv")

files_to_move <- list.files(pattern = "movethis")

# Specify and create new directory
new_directory <- "other_path/different_folder/"
dir.create(new_directory, recursive = TRUE)

# Move files
fs::file_move(
  path = files_to_move,
  new_path = file.path(new_directory, basename(files_to_move))
)

您所需要做的就是更改new_directory中的路径。

相关问题