From d68d57088c04c247d3eb79ef93a3d89257ddfe97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=87=E8=B6=A3=E4=BF=9D=E7=BD=97?= Date: Sun, 10 Nov 2024 01:11:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20EXIF=20=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E5=85=B6=E4=BB=96=E6=96=87=E4=BB=B6=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iphone-photo-format.sh | 8 +++++- recover-modified-photo-exif.sh | 49 ++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100755 recover-modified-photo-exif.sh diff --git a/iphone-photo-format.sh b/iphone-photo-format.sh index 5e68da8..a0e8c24 100755 --- a/iphone-photo-format.sh +++ b/iphone-photo-format.sh @@ -6,13 +6,19 @@ mkdir -p output # 遍历当前文件夹下的所有 heic 和 png 文件 -for file in *.{HEIC,heic,PNG,png,JPG}; do +for file in *.{HEIC,heic,PNG,png,JPG,jpg}; do # 跳过不存在的文件 if [[ ! -f "$file" ]]; then continue fi + # 跳过自己改的图片 + if [[ $filename == *"MODIFIED"* ]] || [[ $filename == *"MERGED"* ]]; then + echo "文件名包含 MODIFIED 或 MERGED" + continue + fi + # 获取图片名并创建新的文件名 filename=$(basename "$file") extension="${filename##*.}" diff --git a/recover-modified-photo-exif.sh b/recover-modified-photo-exif.sh new file mode 100755 index 0000000..b68d85e --- /dev/null +++ b/recover-modified-photo-exif.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# 检查参数 +if [ "$#" -ne 2 ]; then + echo "用法: \$0 <源文件夹路径> <被修改的文件夹路径>" + exit 1 +fi + +SOURCE_DIR="$1" +TARGET_DIR="$2" + +# 遍历被修改的文件夹中的所有 JPG 文件 +for target_file in "$TARGET_DIR"/*.jpg; do + # 获取文件名(不包括路径) + filename=$(basename "$target_file") + + # 去掉 .jpg 后缀以便查找源文件 + base_filename="${filename%.jpg}" + + # 检查源文件夹中是否存在同名文件 + if [ -f "$SOURCE_DIR/$filename" ]; then + # 使用 exiftool 复制 EXIF 信息 + exiftool -all= -UserComment= -tagsFromFile "$SOURCE_DIR/$filename" "$target_file" + echo "jpg" + # 检查源文件夹中是否存在同名的 HEIF 文件 + elif [ -f "$SOURCE_DIR/$base_filename.heic" ]; then + # 使用 exiftool 复制 EXIF 信息 + exiftool -tagsFromFile "$SOURCE_DIR/$base_filename.heic" "$target_file" + echo "heic" + elif [ -f "$SOURCE_DIR/$base_filename.heif" ]; then + # 使用 exiftool 复制 EXIF 信息 + exiftool -tagsFromFile "$SOURCE_DIR/$base_filename.heif" "$target_file" + echo "heif" + else + echo "$filename 未找到" + fi +done + +# 处理被修改的文件夹中的所有 JPG 文件,去除 GPS 信息并设置作者 +for target_file in "$TARGET_DIR"/*.jpg; do + # 获取文件名(不包括路径) + filename=$(basename "$target_file") + + # 执行 exiftool 命令去除 GPS 信息并设置作者,删除美图秀秀生成的备注信息 + exiftool -overwrite_original -UserComment= -gps:all= -artist="奇趣保罗" -CreatorTool= "$target_file" +done + +echo "EXIF 信息更新完成!" +