r - 将文件从文件夹和子文件夹复制到另一个文件夹并保存文件夹的结构

标签 r file

我根据某些条件创建了一个文件列表,我只想将该列表中的文件复制到新文件夹和子文件夹(如原始文件夹中)。 文件夹的结构是年/月/日。

这是我尝试过的代码:

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"

有没有办法在复制时保持文件夹和子文件夹的结构?
我想在新的“night”文件夹中获得相同的年/月/日结构

最佳答案

您需要在复制调用中使用标志recursive = T,因此您实际上不需要在目录内循环。

from=paste0(getwd(),"/output/","output_1") to = Paste0(getwd(),"/output/","output_1_copy") file.copy(从,到,递归= T)

请注意,您需要在调用之前创建 /output_1_copy 目录。您可以手动或使用 dir.create(...) 来完成。

关于r - 将文件从文件夹和子文件夹复制到另一个文件夹并保存文件夹的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56377885/

相关文章:

r - 在Mac(iMac OSX)终端中远程运行脚本(r脚本)到其他计算机

r - 使用 (d)plyr 创建一系列新列

java - 写入文件并每次追加

python - 从二进制数据中识别没有扩展名的文件类型

r - 不规则时间序列的 dplyr 自定义滞后函数

python - rpy2:加载conda环境下安装的R版本,不是系统中的那个

r - ggplot2:在每个方面添加回归线方程时 x 轴出现问题

c# - 如何将字节转换为短裤

php - 如何将数据从服务器中的文本文件导入到mysql数据库

jquery - 使用 jquery 下载文件而不重定向