使用子文件夹/ R在目录中创建目标文件夹

时间:2018-06-29 22:35:40

标签: r loops directory

我正在尝试为100个不同的自动触发远程摄像机的摄像机数据创建目标文件夹。相机将被检查4次,因此我希望每个相机文件夹中有四个子文件夹。我创建了一个循环来生成相机文件夹,该循环成功了,但使用dir.create函数在一个单独的循环中创建子文件夹却无济于事,特别是因为文件路径需要在循环内更改。我试图为每个新文件路径(Cam_Folders)创建一个列表,并在第二个循环中使用它。请帮忙。

    ## Create Folders
    for (j in 1: length(Cam_Done_Names)){
      folder <-dir.create(paste0("/Users/dheit/Documents/RECaP/Cam_File_Test/",
         Cam_Done_Names[j]))

    ## Extract File Paths
    Cam_Folders <- list.files(path = 
      "/Users/dheit/Documents/RECaP/Cam_File_Test/",
      full.names = T)

    ## Create Subfolders
    for (i in 1: length(Check_Num)){
      folder<-dir.create(paste0(Cam_Folders,Check_Num[i]))
    }

更新:我能够解决循环内的问题

    for (i in 1:100){
      setwd(file.path("/Users/dheit/Hair_File_Test",
      Cam_Done_Names[i],sep = "/"))
      for (j in 1:4)
        dir.create(paste0(getwd(),"/",Check_Num[j]))

1 个答案:

答案 0 :(得分:0)

dir.create()有一个recursive = TRUE参数,可让您在同一调用中创建目录和任何必要的子目录。

for(i_camera in 1:100) {
  for(j_sub in 1:4) {
    dir.create(path = paste0("/Users/dheit/Documents/RECaP/Cam_File_Test/camera", i_camera, "/sub_dir", j_sub), recursive = TRUE)
  }
}