我一直在修改一个脚本,该脚本使用sips从 Finder as a Service中方便地调整 JPEG 文件压缩。与简单的 Automator 压缩/重新缩放功能不同,它维护文件标记。
唉,它偶然发现了某些文件名,例如带有空格的文件名,并且不会重新调整它们,大概是因为文件输出阻塞了空格字符。因此,它在“ DSC03761.JPG ”之类的文件上按预期进行,但在“ DSC03761 2.JPG ”上却没有。如果路径包含空格,例如文件位于名为“我的图片”的文件夹中,它也会失败。
由于我是菜鸟,我还没有弄清楚如何调整脚本。你可能有更好的主意?
bash 脚本如下:
for f in "$@"; do
# Save creation date time stamp of the target file in 't'.
t="$(/usr/bin/GetFileInfo -d "$f")"
# Compress the target file. Level 0-100 or low/normal=50/high/best
filename=$f
#/usr/bin/sips --setProperty formatOptions 60 $f --out ${filename%.*}.jpg
/usr/bin/sips --setProperty formatOptions normal $f --out ${filename%.*}.jpg
# Set the modified and creation date time stamps to 't'.
/usr/bin/SetFile -m "$t" "$f"
/usr/bin/SetFile -d "$t" "$f"
done
# Notify user that operation is finished with a sound.
/usr/bin/afplay "/System/Library/Sounds/Purr.aiff"