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

如何用命令行批量合并目录中成对的恢复JPEG文件?

批量合并拆分的JPEG文件(奇数编号含EXIF,偶数编号含图像数据)

问题场景

从相机存储卡恢复出3200+JPEG文件,文件被拆分:

  • 奇数编号文件(如000001.jpg):存储相机信息、EXIF数据等JPEG标记头
  • 偶数编号文件(如000002.jpg):存储实际图像像素数据

需批量将对应奇数文件的内容追加到偶数文件开头,完成1&2、3&4这类成对合并,使文件可正常打开。

解决方案

1. Mac终端(Bash)方案

在文件所在目录打开终端,执行以下脚本:

# 循环处理所有成对文件,步长为2
for ((i=1; i<=3200; i+=2)); do
    # 生成6位数字格式的文件名
    odd_file=$(printf "%06d.jpg" $i)
    even_file=$(printf "%06d.jpg" $((i+1)))
    # 生成合并后的输出文件名,避免覆盖原文件
    output_file=$(printf "merged_%06d.jpg" $((i+1)))
    # 二进制合并奇数文件到偶数文件开头
    cat "$odd_file" "$even_file" > "$output_file"
done

说明:printf "%06d.jpg" 确保文件名是6位数字格式(如000001.jpg),如果你的文件编号位数不同,修改%06d中的数字即可(比如4位用%04d)。

2. Windows批处理方案

在文件所在目录创建merge_jpegs.bat,粘贴以下内容后双击运行:

@echo off
setlocal enabledelayedexpansion
# 从1开始,步长2,到3200结束循环
for /L %%n in (1,2,3200) do (
    # 生成6位奇数文件名
    set "odd=000000%%n"
    set "odd=!odd:~-6!"
    # 计算对应偶数编号并生成6位偶数文件名
    set /a even_n=%%n+1
    set "even=000000!even_n!"
    set "even=!even:~-6!"
    # 二进制合并两个文件,输出为带merged前缀的新文件
    copy /b "!odd!.jpg"+"!even!.jpg" "merged_!even!.jpg"
)
endlocal

说明:copy /b 表示以二进制模式合并文件,确保JPEG数据不被损坏;同样可根据实际文件名位数调整000000的长度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:50:09