使用 Guetzli 监视文件夹和压缩 jpeg 的 Automator 脚本
Automator Script to watch folder and compress jpegs with Guetzli
我正在尝试创建文件夹操作以使用 guetzli 压缩图像。我正在查看图像文件夹,如果文件名中有没有 'compp' 的图像,我会在上面添加 运行 guetzli。这是脚本。如果我从 automator 运行 它很好用,但是当我保存它时,它会进入无限循环并创建同一文件的多个版本并向其添加 compp
,即 `test-compp.jp, 测试-compp-compp.jpg'。不知道我错过了什么。
for img in "$@"
do
filename=${img%.*}-compp
/usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
echo "$img"
done
您缺少检查文件名中是否没有字符串 compp
的条件。因此每次都会创建一个新文件,这将无限调用新的执行。
添加条件应该有效,即。
for img in "$@"; do
[[ $img == *"compp"* ]] && continue
filename=${img%.*}-compp
/usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
echo "$img"
done
我正在尝试创建文件夹操作以使用 guetzli 压缩图像。我正在查看图像文件夹,如果文件名中有没有 'compp' 的图像,我会在上面添加 运行 guetzli。这是脚本。如果我从 automator 运行 它很好用,但是当我保存它时,它会进入无限循环并创建同一文件的多个版本并向其添加 compp
,即 `test-compp.jp, 测试-compp-compp.jpg'。不知道我错过了什么。
for img in "$@"
do
filename=${img%.*}-compp
/usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
echo "$img"
done
您缺少检查文件名中是否没有字符串 compp
的条件。因此每次都会创建一个新文件,这将无限调用新的执行。
添加条件应该有效,即。
for img in "$@"; do
[[ $img == *"compp"* ]] && continue
filename=${img%.*}-compp
/usr/local/Cellar/guetzli/1.0.1/bin/guetzli --quality 85 "$img" "$filename.jpg"
echo "$img"
done