Puede usar una acción Crear archivo y cambiar el nombre del archivo resultante:
d=${1%/*}start="$d/${d##*/}"
name="$start.zip"
i=2
while [[ -e $name ]]; do
name="$start $i.zip"
let i++
done
mv "$1" "$name"
open -R "$name"
O usa una acción de script de shell shell de ejecución como esta:
for n in $(seq $(printf %s "$@" | tr -dc / | wc -c)); do
uniq=$(printf %s\n "$@" | cut -d / -f1-$n | uniq)
[[ $uniq != *$'\n'* ]] && dir=$uniq || break
done
cd "${dir:-/}"
[[ $dir ]] && start=${dir##*/} || start=archive
name="$start.zip"
i=2
while [[ -e $name ]]; do
name="$start $i.zip"
let i++
done
zip -r "$name" -- "${@#$dir/}"
open -R "$name"
Si algunos archivos tienen atributos extendidos o ACL, zip los elimina. La Utilidad de archivo y la acción Crear archivo los almacenan en el formato AppleDouble.