我有一个很好的工作文件夹操作,它将文件夹中的每张图片加水印并将它们放在一个文件夹中。
watermark=~/Dropbox/Business/mihalko_logo_bw.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"
rm $f
done
~/imageoptim-cli/bin/imageOptim --jpeg-mini --image-alpha --quit --directory "$d"
不幸的是,FA只在一个目录中工作。我试图从这段代码创建一个服务,但没有成功。有谁知道在这种情况下需要哪些修改/自动操作?
答案 0 :(得分:0)
使用关联数组:
watermark=~/Dropbox/Business/mihalko_logo_bw.png
shopt -s nocasematch
declare -A dirs
for f; do
[[ $f =~ .*\.(jpe?g|png)$ ]] || continue
d="${f%/*}/wm_$(date +%Y_%m_%d)"
mkdir -p "$d"
dirs["$d"]="$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"
rm "$f"
done
for d in "${dirs[@]}"; do
~/imageoptim-cli/bin/imageOptim --jpeg-mini --image-alpha --quit --directory "$d"
done
答案 1 :(得分:0)
不幸的是,FA只在一个目录中工作。我试图从这段代码创建一个服务,但没有成功。有谁知道在这种情况下需要哪些修改/自动操作?
如果您设置了文件夹操作,则应该可以通过
将文件夹操作附加到其他文件夹
如果您需要使用Automator创建服务,则可以执行以下操作:
我希望这会对你有所帮助。
如果我能提供进一步帮助,您可以发送电子邮件至:kaydell@yahoo.com。