feat: 新增 EXIF 通过其他文件恢复脚本

This commit is contained in:
奇趣保罗 2024-11-10 01:11:34 +08:00
parent 8a7fa8b9da
commit d68d57088c
2 changed files with 56 additions and 1 deletions

View File

@ -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##*.}"

49
recover-modified-photo-exif.sh Executable file
View File

@ -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 信息更新完成!"