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

在R中复制向量指定文件名的子集文件至目标文件夹的问题

问题求助:从指定文件夹复制指定文件到目标文件夹
  • 桌面有两个文件夹A(含6000个.dcm格式文件)和B(空文件夹),需从A中复制5000个指定文件到B,仅执行复制操作,无需删除或重命名。
  • 已生成存储目标文件名的字符向量tocopy(示例:"file1.dcm" "file2.dcm"),以及存储目标文件全路径的向量paths;tocopy2由数据框对应列生成,与tocopy结果一致。
  • 文件夹路径格式正确,脱敏后定义如下:
current= "C:/Users/pathtoA"
new= "C:/Users/pathtoB"

已尝试的代码及问题

  1. 拼接路径复制,返回全FALSE:
file.copy(from = paste0("C:/Users/pathtoA", tocopy), to = paste0("C:/Users/pathtoB", tocopy)) 
# 返回全FALSE
  1. 使用全路径向量复制,返回全FALSE:
file.copy(paths, to= "C:/Users/pathtoB") 
# 返回全FALSE
  1. 指定from/to文件夹复制,报错参数无效:
file.copy(
  tocopy,
  from="C:/Users/pathtoA", 
  to="C:/Users/pathtoB", 
  recursive = TRUE, 
  overwrite= TRUE,
  copy.mode = TRUE, copy.dates = TRUE
) 
# 报错:Error in file.copy...unused argument (copy.dates = TRUE)
  1. 直接传入向量和路径,报错overwrite参数无效:
file.copy (tocopy2, from = current, to = new)
# 报错:Error in file.copy(tocopy, from = current, to = new) : invalid 'overwrite' argument
  1. 添加overwrite=TRUE后报错类型错误:
file.copy (tocopy2, from = current, to = new, overwrite = TRUE) 
# 报错:Error in recursive && to %in% from : invalid 'x' type in 'x && y'

解决方案

方法1:正确拼接源文件全路径,目标指定文件夹路径

file.copy的from需要是源文件的完整路径,to指定目标文件夹路径即可自动保留原文件名。注意用file.path拼接路径,避免手动加分隔符出错:

# 生成正确的源文件全路径
source_paths <- file.path(current, tocopy)
# 执行复制,允许覆盖(B为空可省略overwrite,保留更通用)
file.copy(from = source_paths, to = new, overwrite = TRUE)

可先检查路径是否正确:

head(source_paths)
# 应输出类似 "C:/Users/pathtoA/file1.dcm" 的有效路径

方法2:校验全路径向量paths的有效性

如果paths是预设的源文件全路径,先验证文件是否存在:

# 检查哪些源文件不存在
missing_files <- paths[!file.exists(paths)]
print(missing_files)

若输出非空,说明paths生成逻辑有误,需重新核对文件名匹配规则;若全部存在,直接执行复制:

file.copy(from = paths, to = new, overwrite = TRUE)

方法3:修正参数错误的调用

file.copy无copy.dates参数(该参数属于file.copy2),且from需传入文件路径而非文件夹路径,正确调用方式:

file.copy(from = file.path(current, tocopy2), to = new, overwrite = TRUE, copy.mode = TRUE)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 18:52:56