使用R将多个文件从多个文件夹复制到单个文件夹

kel*_*rog 3 r file-manipulation

嘿,我想问一下如何使用R语言将多个文件从多个文件夹复制到单个文件夹

假设有三个文件夹:

  1. 桌面/文件夹A /任务/子任务/
  2. 桌面/文件夹B /任务/子任务/
  3. 桌面/文件夹C /任务/子任务/

在每个sub_task文件夹中,有多个文件。我想复制sub_task文件夹中的所有文件,然后将其粘贴到桌面上的新文件夹中(将该新文件夹命名为“ all_sub_task”)。谁能告诉我如何使用循环或套用功能在R中执行此操作?提前致谢。

ial*_*alm 5

这是一个R解决方案。

# Manually enter the directories for the sub tasks
my_dirs <- c("desktop/folder_A/task/sub_task/", 
             "desktop/folder_B/task/sub_task/",
             "desktop/folder_C/task/sub_task/")

# Alternatively, if you want to programmatically find each of the sub_task dirs
my_dirs <- list.files("desktop", pattern = "sub_task", recursive = TRUE, include.dirs = TRUE)

# Grab all files from the directories using list.files in sapply
files <- sapply(my_dirs, list.files, full.names = TRUE)

# Your output directory to copy files to
new_dir <- "all_sub_task"
# Make sure the directory exists
dir.create(new_dir, recursive = TRUE)

# Copy the files
for(file in files) {
  # See ?file.copy for more options
  file.copy(file, new_dir)
}
Run Code Online (Sandbox Code Playgroud)

编辑以编程方式列出sub_task目录。