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

如何将folder1中未存在于folder2的JPG文件批量移动至folder2?

用Unix命令移动folder1中未在folder2存在的JPG文件

方法一:用rsync(推荐,简洁高效)

rsync是处理文件同步/迁移的利器,这条命令会只移动folder1中folder2没有的JPG文件:

rsync -av --ignore-existing --include='*.jpg' --exclude='*' folder1/ folder2/

参数说明:

  • -a:归档模式,保留文件权限、时间戳等属性
  • -v:显示详细操作日志,方便查看进度
  • --ignore-existing:跳过folder2中已存在的文件
  • --include='*.jpg':仅包含JPG文件
  • --exclude='*':排除所有其他类型文件
  • folder1/:注意末尾的斜杠,表示同步folder1目录内的内容,而非目录本身;如果不加斜杠,会把folder1整个移到folder2里

方法二:用find+mv(适合需要更灵活过滤的场景)

如果需要只处理folder1下的直接文件(不递归子目录):

find folder1 -maxdepth 1 -type f -name "*.jpg" ! -exec test -e "folder2/{}" \; -exec mv "{}" folder2/ \;

如果需要递归处理folder1的子目录中的JPG文件,去掉-maxdepth 1即可:

find folder1 -type f -name "*.jpg" ! -exec test -e "folder2/{}" \; -exec mv "{}" folder2/ \;

参数说明:

  • -type f:只处理普通文件(排除目录)
  • -name "*.jpg":匹配所有JPG后缀的文件
  • ! -exec test -e "folder2/{}" \;:判断当前文件在folder2中不存在
  • -exec mv "{}" folder2/ \;:将符合条件的文件移动到folder2

注意事项

  • 如果文件名包含空格或特殊字符,上述命令都能正常处理,因为使用了双引号包裹路径
  • 执行命令前可以先把mv换成echo,预览要移动的文件列表,确认无误后再替换回mv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:10:33