You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中无需for循环将单个文件复制到所有子目录?

无需for循环实现单个文件批量复制到多个子文件夹

你其实可以直接用file.copy()实现需求,关键是利用它的to参数支持向量输入的特性——不需要循环,一次就能把单个文件复制到多个目标路径。

具体步骤:

  • 确定源文件的完整路径
  • 准备好所有新建子文件夹的路径列表(既然是你自己创建的,应该已经有这个列表;如果是统一放在某个父目录下,也可以用list.dirs()快速获取)
  • 构造每个子文件夹中目标文件的完整路径(子文件夹路径 + 源文件名)
  • 调用file.copy()完成批量复制

代码示例:

# 1. 定义源文件路径
source_file <- "path/to/your/target_file.txt"

# 2. 你的新建子文件夹路径列表(示例)
subfolders <- c("output/sub1", "output/sub2", "output/sub3")
# 如果子文件夹都在同一父目录下,也可以自动获取:
# subfolders <- list.dirs("output", recursive = FALSE)

# 3. 构造每个目标文件的完整路径
target_paths <- file.path(subfolders, basename(source_file))

# 4. 执行批量复制(如需覆盖已存在文件,添加overwrite=TRUE)
file.copy(from = source_file, to = target_paths, overwrite = TRUE)

说明:

file.copy()的to参数接受多个路径组成的向量,每个元素对应一个目标文件的位置,这样就能一次性完成单个文件到所有子文件夹的复制,完全不需要for循环。之前的误解是没注意到它的批量目标支持能力。

内容的提问来源于stack exchange,提问作者wernor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:50:30