在某些情况下,我已经创建了一个文件列表,我只想将该列表中的文件复制到新文件夹和子文件夹中,例如原始文件夹中。 文件夹的结构是年/月/日。
这是我尝试的代码:
from.dir <- "J:/Radar_data/Beit_Dagan/RAW/2018"
## I want only the files from the night
to.dir <- "J:/Radar_data/Beit_Dagan/night"
files <- list.files(path = from.dir, full.names = TRUE, recursive =
TRUE)
## night_files is a vector I created with the files I need - only during the night
for (f in night_files) file.copy(from = f, to = to.dir)
但是我将所有文件放在一个文件夹中
我的列表的一部分看起来像这样:
[1] "J:/Radar_data/Beit_Dagan/H5/2018/03/10/TLV180310142554.h5"
[2] "J:/Radar_data/Beit_Dagan/H5/2018/03/10/TLV180310142749.h5"
[3] "J:/Radar_data/Beit_Dagan/H5/2018/03/10/TLV180310143054.h5"
复制时是否可以保留文件夹和子文件夹的结构?
我想在新的“夜间”文件夹中获得相同的年/月/日结构
答案 0 :(得分:1)
您只需要:
file.copy(from = from.dir, to = to.dir,recursive=T)
答案 1 :(得分:1)
您需要在复制调用中使用标志recursive = T
,因此您实际上并不需要在目录中循环。
from = paste0(getwd(),"/output/","output_1")
to = paste0(getwd(),"/output/","output_1_copy")
file.copy(from, to, recursive = T)
请注意,您需要在呼叫之前创建/output_1_copy
目录。您可以手动完成,也可以使用dir.create(...)
。