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

如何在OSX终端用指定图片替换文件夹内所有图片并保留原文件名?

在 macOS 终端批量替换图片并保留原文件名

当然可以!在 macOS 终端里用简单的命令就能实现这个需求,我给你两种实用方案,根据你的场景选择:

方案一:针对单文件夹(无嵌套子目录)

如果要替换的图片都在同一个文件夹里,用 bash 循环最直接:

# 第一步:切换到目标图片所在的文件夹(替换成你的实际路径)
cd /Users/yourname/Desktop/target-images

# 第二步:遍历所有图片文件并替换(这里以jpg为例,可根据需要修改)
for img_file in *.jpg; do
  # 跳过default.jpg本身,避免误覆盖
  if [ "$img_file" != "default.jpg" ]; then
    # -f 参数强制覆盖,不会弹出确认提示
    cp -f /Users/yourname/Desktop/default.jpg "$img_file"
  fi
done

关键说明:

  • 把/Users/yourname/Desktop/target-images替换成你存放目标图片的实际文件夹路径
  • 如果要替换其他格式(比如png、gif),把*.jpg改成*.png或*.{jpg,png,gif}(多格式匹配)
  • 如果default.jpg和目标文件夹在同一目录下,/Users/yourname/Desktop/default.jpg可以简化成./default.jpg

方案二:包含嵌套子目录的场景

如果目标文件夹下还有多层子目录,且里面的图片也需要替换,用find命令更高效:

# 替换成你的目标文件夹路径和default.jpg的实际路径
find /Users/yourname/Desktop/all-images -type f -name "*.jpg" ! -name "default.jpg" -exec cp -f /Users/yourname/Desktop/default.jpg {} \;

关键说明:

  • -type f确保只处理文件(不会误操作文件夹)
  • ! -name "default.jpg"排除default.jpg本身
  • {}代表find找到的每一个匹配文件,\;是-exec的结束标记

重要提醒

  • 执行命令前一定要备份目标文件夹!批量操作一旦出错很难恢复
  • 可以先找一两个测试文件,把cp -f改成cp -n(不覆盖已有文件)先验证匹配是否正确,没问题再换成-f

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:00:10