Comprime i file con il nome di output come nella cartella principale con Automator

0

Ho cercato su internet una soluzione a questo. Vorrei creare un flusso di lavoro di Automator in grado di comprimere i file selezionati, denominare il file zip nel nome della directory padre e salvare tale zip nella directory corrente.

Non riesco a trovare un modo per ottenere la directory principale. Ho colpito un muro qui. Qualcuno potrebbe darmi una mano?

    
posta tastytoast 10.05.2013 - 23:21
fonte

2 risposte

1

In Automator:

  1. Aggiungi Ottieni elementi di ricerca selezionati
  2. Aggiungi Esegui Applescript

Inserisci questo codice per 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

Output / Risultati:

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"}
    
risposta data 11.05.2013 - 02:16
fonte
0

Potresti usare un'azione Crea archivio e rinominare l'archivio risultante:

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"

Oppure usa un'azione di script della shell shell avviata in questo modo:

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"

Se alcuni file hanno attributi o ACL estesi, zip li rimuove. Archive Utility e l'azione Create Archive li memorizzano nel formato AppleDouble.

    
risposta data 11.05.2013 - 20:29
fonte

Leggi altre domande sui tag