fix: 使用 webp 格式存储截图,exif 还原脚本将成功匹配的单独存档
This commit is contained in:
parent
2f743f0915
commit
1748bea302
|
|
@ -22,6 +22,12 @@ for png_file in *.png; do
|
||||||
# 获取文件名(不含扩展名)
|
# 获取文件名(不含扩展名)
|
||||||
filename="${png_file%.*}"
|
filename="${png_file%.*}"
|
||||||
|
|
||||||
|
# 检查是否已经存在对应的 WebP 文件
|
||||||
|
if [ -f "${filename}.webp" ]; then
|
||||||
|
echo "跳过: ${filename}.webp 已存在"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
# 转换为 WebP 格式
|
# 转换为 WebP 格式
|
||||||
echo "正在转换: $png_file -> ${filename}.webp"
|
echo "正在转换: $png_file -> ${filename}.webp"
|
||||||
magick "$png_file" "${filename}.webp"
|
magick "$png_file" "${filename}.webp"
|
||||||
|
|
@ -29,6 +35,10 @@ for png_file in *.png; do
|
||||||
# 写入作者信息
|
# 写入作者信息
|
||||||
echo "正在写入作者信息到: ${filename}.webp"
|
echo "正在写入作者信息到: ${filename}.webp"
|
||||||
exiftool -overwrite_original -Author="奇趣保罗" "${filename}.webp"
|
exiftool -overwrite_original -Author="奇趣保罗" "${filename}.webp"
|
||||||
|
|
||||||
|
# 修改 WebP 文件的创建日期为 PNG 文件的日期
|
||||||
|
echo "正在同步创建日期: ${filename}.webp <- $png_file"
|
||||||
|
touch -r "$png_file" "${filename}.webp"
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "所有文件处理完成!"
|
echo "所有文件处理完成!"
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ for file in *.{HEIC,heic,PNG,png,JPG,jpg}; do
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 跳过自己改的图片
|
# 跳过自己改的图片
|
||||||
if [[ $filename == *"MODIFIED"* ]] || [[ $filename == *"MERGED"* ]]; then
|
if [[ $filename == *"MODIFIED"* ]] || [[ $filename == *"MERGED"* ]]; then
|
||||||
echo "文件名包含 MODIFIED 或 MERGED"
|
echo "文件名包含 MODIFIED 或 MERGED"
|
||||||
continue
|
continue
|
||||||
|
|
@ -32,6 +32,9 @@ for file in *.{HEIC,heic,PNG,png,JPG,jpg}; do
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${filename##*.}" == "png" || "${filename##*.}" == "PNG" ]]; then
|
if [[ "${filename##*.}" == "png" || "${filename##*.}" == "PNG" ]]; then
|
||||||
|
# 如果是 PNG 图片,直接转换为 WebP 格式,大概率是个截图
|
||||||
|
new_filename="${filename%.*}.webp"
|
||||||
|
|
||||||
# 使用 ImageMagick 直接处理 PNG 图片
|
# 使用 ImageMagick 直接处理 PNG 图片
|
||||||
magick "$file" -gravity center -quality 80 output/$new_filename
|
magick "$file" -gravity center -quality 80 output/$new_filename
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -2,45 +2,70 @@
|
||||||
|
|
||||||
# 检查参数
|
# 检查参数
|
||||||
if [ "$#" -ne 2 ]; then
|
if [ "$#" -ne 2 ]; then
|
||||||
echo "用法: \$0 <源文件夹路径> <被修改的文件夹路径>"
|
echo "用法: $0 <源文件夹路径> <被修改的文件夹路径>"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SOURCE_DIR="$1"
|
SOURCE_DIR="$1"
|
||||||
TARGET_DIR="$2"
|
TARGET_DIR="$2"
|
||||||
|
SUCCEED_DIR="$TARGET_DIR/succeed"
|
||||||
|
|
||||||
|
# 检查并创建 succeed 目录
|
||||||
|
if [ ! -d "$SUCCEED_DIR" ]; then
|
||||||
|
mkdir -p "$SUCCEED_DIR"
|
||||||
|
echo "创建 succeed 目录: $SUCCEED_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
# 遍历被修改的文件夹中的所有 JPG 文件
|
# 遍历被修改的文件夹中的所有 JPG 文件
|
||||||
for target_file in "$TARGET_DIR"/*.jpg; do
|
for target_file in "$TARGET_DIR"/*.jpg; do
|
||||||
|
# 跳过 succeed 目录中的文件
|
||||||
|
if [[ "$target_file" == *"/succeed/"* ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
# 获取文件名(不包括路径)
|
# 获取文件名(不包括路径)
|
||||||
filename=$(basename "$target_file")
|
filename=$(basename "$target_file")
|
||||||
|
|
||||||
# 去掉 .jpg 后缀以便查找源文件
|
# 去掉 .jpg 后缀以便查找源文件
|
||||||
base_filename="${filename%.jpg}"
|
base_filename="${filename%.jpg}"
|
||||||
|
|
||||||
# 检查源文件夹中是否存在同名文件
|
# 检查源文件夹中是否存在同名文件
|
||||||
if [ -f "$SOURCE_DIR/$filename" ]; then
|
if [ -f "$SOURCE_DIR/$filename" ]; then
|
||||||
# 使用 exiftool 复制 EXIF 信息
|
# 使用 exiftool 复制 EXIF 信息
|
||||||
exiftool -all= -UserComment= -tagsFromFile "$SOURCE_DIR/$filename" "$target_file"
|
exiftool -all= -UserComment= -tagsFromFile "$SOURCE_DIR/$filename" "$target_file"
|
||||||
echo "jpg"
|
mv "$target_file" "$SUCCEED_DIR/"
|
||||||
|
echo "jpg 匹配成功,已移动到 succeed 文件夹"
|
||||||
# 检查源文件夹中是否存在同名的 HEIF 文件
|
# 检查源文件夹中是否存在同名的 HEIF 文件
|
||||||
elif [ -f "$SOURCE_DIR/$base_filename.heic" ]; then
|
elif [ -f "$SOURCE_DIR/$base_filename.heic" ]; then
|
||||||
# 使用 exiftool 复制 EXIF 信息
|
# 使用 exiftool 复制 EXIF 信息
|
||||||
exiftool -tagsFromFile "$SOURCE_DIR/$base_filename.heic" "$target_file"
|
exiftool -tagsFromFile "$SOURCE_DIR/$base_filename.heic" "$target_file"
|
||||||
echo "heic"
|
mv "$target_file" "$SUCCEED_DIR/"
|
||||||
|
echo "heic 匹配成功,已移动到 succeed 文件夹"
|
||||||
elif [ -f "$SOURCE_DIR/$base_filename.heif" ]; then
|
elif [ -f "$SOURCE_DIR/$base_filename.heif" ]; then
|
||||||
# 使用 exiftool 复制 EXIF 信息
|
# 使用 exiftool 复制 EXIF 信息
|
||||||
exiftool -tagsFromFile "$SOURCE_DIR/$base_filename.heif" "$target_file"
|
exiftool -tagsFromFile "$SOURCE_DIR/$base_filename.heif" "$target_file"
|
||||||
echo "heif"
|
mv "$target_file" "$SUCCEED_DIR/"
|
||||||
|
echo "heif 匹配成功,已移动到 succeed 文件夹"
|
||||||
|
elif [ -f "$SOURCE_DIR/$base_filename.HIF" ]; then
|
||||||
|
# 使用 exiftool 复制 EXIF 信息
|
||||||
|
exiftool -tagsFromFile "$SOURCE_DIR/$base_filename.HIF" "$target_file"
|
||||||
|
mv "$target_file" "$SUCCEED_DIR/"
|
||||||
|
echo "HIF 匹配成功,已移动到 succeed 文件夹"
|
||||||
else
|
else
|
||||||
echo "$filename 未找到"
|
echo "$filename 未找到,保留在原位置"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# 处理被修改的文件夹中的所有 JPG 文件,去除 GPS 信息并设置作者
|
# 处理被修改的文件夹中的所有大写 JPG 文件
|
||||||
for target_file in "$TARGET_DIR"/*.jpg; do
|
for target_file in "$TARGET_DIR"/*.JPG; do
|
||||||
|
# 跳过 succeed 目录中的文件
|
||||||
|
if [[ "$target_file" == *"/succeed/"* ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
# 获取文件名(不包括路径)
|
# 获取文件名(不包括路径)
|
||||||
filename=$(basename "$target_file")
|
filename=$(basename "$target_file")
|
||||||
|
|
||||||
# 执行 exiftool 命令去除 GPS 信息并设置作者,删除美图秀秀生成的备注信息
|
# 执行 exiftool 命令去除 GPS 信息并设置作者,删除美图秀秀生成的备注信息
|
||||||
exiftool -overwrite_original -UserComment= -gps:all= -artist="奇趣保罗" -CreatorTool= "$target_file"
|
exiftool -overwrite_original -UserComment= -gps:all= -artist="奇趣保罗" -CreatorTool= "$target_file"
|
||||||
done
|
done
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue