6

I would like to copy files only from 1 root folder that has 100's of folders and subfolders. I do not want to copy the folders. I just want to copy all the files (*.iso, *.txt, *.docx, *.pdf etc.) there are in these folders to another folder.

My code:

setwd("/Users/RLearner/Desktop/RDMS")

if (file.exists(list.files(path=".",recursive=TRUE)))
  file.copy(from=".", to="/Users/RLearner/Desktop/Test", recursive=TRUE)

But this code is copying the root folder as it is into my desired Test folder. I just want to copy the files that these folders have?

Manuel Allenspach
  • 12,467
  • 14
  • 54
  • 76
CuriousBeing
  • 1,592
  • 14
  • 34

1 Answers1

7

I would do:

from.dir <- "/Users/RLearner/Desktop/RDMS"
to.dir   <- "/Users/RLearner/Desktop/Test"
files    <- list.files(path = from.dir, full.names = TRUE, recursive = TRUE)
for (f in files) file.copy(from = f, to = to.dir)
flodel
  • 87,577
  • 21
  • 185
  • 223
  • It didn't work for me:( Can you please explain this? Thanks EDIT: IT WORKED!!!! The error was from my side. What a genius you are!! Thank you. Have a great weekend. @flodel – CuriousBeing Oct 18 '14 at 11:41
  • 1
    To copy files in nested folders I used file.copy(list.files(from.dir, full.names = TRUE), to.dir, recursive=TRUE). – andrekos Nov 13 '15 at 02:01