我有这个工作的Automator / bash脚本,它为我选择的所有文件添加水印:
watermark=~/Dropbox/watermark.png
shopt -s nocasematch
for f; do
[[ $f =~ .*\.(jpe?g|png)$ ]] || continue
d="${f%/*}/wm_$(date +%Y_%m_%d)"
mkdir -p "$d"
target="$d/${f##*/}"
size=$(/usr/local/bin/identify -format '%[fx:w/4,279]' "$f")
/usr/local/bin/composite -dissolve 10% -gravity SouthEast\
\( $watermark -geometry $size \) "$f" -quality 100 "$target"
done
此设置的问题,这不起作用如果我选择文件夹(当然在这种情况下我设置类型为Automator中的文件和文件夹)里面的图像(仅当我选择图像时工作)。
我的第二个问题是,如何修改此代码以制作selectedfolder_watermarked文件夹?
答案 0 :(得分:1)
此脚本仅适用于文件夹,例如~/Desktop/dir1/file1.png
保存到~/Desktop/dir1_watermarked/file1.png
:
watermark=~/Dropbox/watermark.png
shopt -s nocasematch extglob
for dir; do
mkdir "$dir"_watermarked
for f in "$dir"/*.@(png|jpg|jpeg); do
size=$(/usr/local/bin/identify -format '%[fx:w/4,279]' "$f")
/usr/local/bin/composite -dissolve 10% -gravity SouthEast \
\( $watermark -geometry $size \) "$f" -quality 100 "$dir"_watermarked/"${f##*/}"
done
done