Sto tentando di creare un flusso di lavoro di Automator (che verrà salvato come servizio, in modo che sia possibile accedervi da menu contestuali e richiamarlo con una scorciatoia da tastiera), che funzionerà in modo molto simile al built-in del Finder Comando "Mostra contenuto pacchetto", ma che accetta anche l'alias di un pacchetto come input. Il servizio soddisferà quanto segue:
Sarà disponibile solo quando la selezione del Finder consiste in un pacchetto o in un alias di un pacchetto.
Piuttosto che mostrare il contenuto della directory del pacchetto stesso come fa il comando integrato, il Servizio mostrerà il contenuto della directory "Contents" (se esiste), che si trova immediatamente all'interno della directory del pacchetto.
Se la selezione del Finder è un pacchetto o un alias sul desktop, la directory Contents dovrebbe essere aperta in una nuova finestra del Finder. Altrimenti, la directory Contents dovrebbe essere aperta nella finestra del Finder che contiene la selezione.
Il mio approccio è stato quello di fare in modo che lo script determini prima se il file è un alias e, in caso affermativo, di dire allo script di mostrare il contenuto dell'originale. Se il file non è un alias, vorrei dire allo script di mostrare semplicemente il contenuto dell'input.
Escludendo la possibilità di un alias come input e assumendo che il pacchetto di input sia selezionato in una finestra del Finder, posso scrivere correttamente uno script che mostri il contenuto della cartella del contenuto del pacchetto nella stessa finestra:
on run {input, parameters}
set my_output to {}
repeat with oneItem in input
tell application "Finder" to set target of window 1 to ((oneItem as text) & "Contents")
end repeat
return input
end run
Quando provo a configurare uno schema "if ... then ... else", non riesco.
Sto utilizzando le ultime versioni di tutti i software pertinenti.