Comprimir archivos con el nombre de salida igual a la carpeta principal con Automator

0

He estado buscando en Internet una solución para esto. Me gustaría crear un flujo de trabajo de Automator que comprimirá los archivos seleccionados, nombrará el nombre zip del directorio principal y guardará ese zip en el directorio actual.

Parece que no puedo encontrar una manera de obtener el directorio principal. He golpeado un poco una pared aquí. ¿Podría alguien ayudarme?

    
pregunta tastytoast 10.05.2013 - 23:21

2 respuestas

1

En Automator:

  1. Agregar Obtener elementos seleccionados del buscador
  2. Añadir Ejecutar AppleScript

Inserte este código para el Applescript:

on run {input, parameters}
 set pathList to {}
 repeat with itemNum from 1 to count of input
 tell application "System Events"
 copy POSIX path of (container of (item itemNum of input)) to end of pathList
 end tell
 end repeat
 return pathList
end run

Salida / Resultados:

2013-05-11 00:06:02 +0000: Get Selected Finder Items completed
2013-05-11 00:06:02 +0000: Conversion from Files/Folders to Files/Folders completed
2013-05-11 00:06:02 +0000: Run AppleScript completed
2013-05-11 00:06:02 +0000: Workflow completed

{"/Users/Desktop", "/Users/Desktop", "/Users/Desktop"}
    
respondido por el l'L'l 11.05.2013 - 02:16
0

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.

    
respondido por el user495470 11.05.2013 - 20:29

Lea otras preguntas en las etiquetas