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

Mac终端如何将多个目录批量复制到多个目标目录?

解决目录批量复制问题

之前命令的核心错误

  • Shell中多个参数用空格分隔,不能用逗号
  • 大括号扩展语法要求元素间用逗号分隔且无空格,比如{a,b}而非{a b}
  • 路径前加/会变成绝对路径,你要操作的是当前folderX下的子目录,不需要开头的/

正确的实现方法

方法1:逐个复制(直观易理解)

确保当前工作目录是folderX,执行以下命令:

# 复制到folder2
cp -r folder1/folderA folder1/folderB folder2/
# 复制到folder3
cp -r folder1/folderA folder1/folderB folder3/
# 复制到folder4
cp -r folder1/folderA folder1/folderB folder4/

方法2:循环批量处理(高效适合多目标)

用Shell循环一次性处理所有目标目录:

for dest in folder2 folder3 folder4; do
  cp -r folder1/folderA folder1/folderB "$dest"/
done

方法3:大括号扩展(简洁写法,bash/zsh支持)

利用Shell的大括号扩展语法,一行完成复制:

cp -r folder1/folderA folder1/folderB folder{2,3,4}/

关键参数说明

  • -r:必须添加,递归复制目录及其所有内容
  • 目标路径结尾的/:确保目标是目录(若目录不存在,cp会直接报错,避免误将目录复制为文件)
  • 循环中的"$dest":加双引号是为了兼容目录名含空格的场景,养成好习惯

内容的提问来源于stack exchange,提问作者emma-A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:12:33