Vai al contenuto


USI TWITTER? Allora devi assolutamente seguire @tevac e non puoi perderti @lo_ziopino!

Foto

Path icns applicazioni

applescript txt icns icone

  • Per cortesia connettiti per rispondere
7 risposte a questa discussione

#1 nichel

nichel

    Primi Passi

  • Forum User
  • 11 messaggi
  • Sesso:Maschietto

Inviato 16 giugno 2012 - 20:29

Ciao a tutti,

ho uno applescript, non ricordo da dove proviene, che in pratica raccoglie le icone dei programmi.
Questo script ha un limite, in relazione a quanto devo fare io, che apre le immagini da Anteprima.
Vorrei semplicemente salvare i percorsi icns delle applicazioni in un semplice documento.txt

Potreste aiutarmi?

Grazie

set myApps to (do shell script "find /Applications -name \"*.app\" -print")
set listApp to every paragraph of myApps as list
repeat with x in listApp
set var to (POSIX file x) as alias
set Inf to (var as string) & "Contents:Info.plist"
try
set Inf to Inf as alias
set myApp to POSIX path of Inf
set n to (do shell script "cat \"" & myApp & "\" | tr \"\\r\" \"\\n\" | grep --binary-files=text -n CFBundleIconFile | cut -f 1 -d :") + 1
set stringaIcona to characters 2 thru -1 of (paragraph n of (read Inf)) as string
set nomeIcona to do shell script "echo \"" & stringaIcona & "\" | cut -f 2 -d \">\" | cut -f 1 -d \"<\""
if nomeIcona does not end with ".icns" then
set nomeIcona to nomeIcona & ".icns"
end if
set pathIcona to ((var as string) & "Contents:Resources:" & nomeIcona) as alias

========= IN PRATICA NON VOGLIO QUESTO =========
tell application "Preview" to open pathIcona
===============================================


===== MA UNA COSA DEL TIPO =========
save pathicona to "path.txt" e relativo percorso ad una data cartella
==================================
on error x number y
do shell script "echo \"Errore: " & y & "\" > /dev/console"
end try
end repeat

Messaggio modificato da Signor D, 16 giugno 2012 - 20:47
etichette


#2 Vladimiro Paglianti

Vladimiro Paglianti

    Quasi di Casa

  • Forum User +
  • 417 messaggi

Inviato 16 giugno 2012 - 22:46

Non è un applescript, ma un comando da commandline. Dovrebbe fare (se ho capito) quello che ti serve.

find /Applications -name "*.icns" -print

Se vuoi salvare l'elenco in un file, per esempio sul tuo desktop:

find /Applications -name "*.icns" -print > ~/Desktop/icons_list.txt

#3 nichel

nichel

    Primi Passi

  • Forum User
  • 11 messaggi
  • Sesso:Maschietto

Inviato 17 giugno 2012 - 10:01

Grazie è ciò che cercavo.

Ora dovrei pilotare questo comando shell da applescript per poi accedervi da filemaker. Dovrei farlo con do shell script ma ancora non ci sono riuscito.. :-)

#4 Vladimiro Paglianti

Vladimiro Paglianti

    Quasi di Casa

  • Forum User +
  • 417 messaggi

Inviato 17 giugno 2012 - 10:40

Pilotare è un po' generico. Immagino tu voglia popolare una tabella di filemaker con la risposta ottenuta dall'esecuzione dello script, giusto?

#5 nichel

nichel

    Primi Passi

  • Forum User
  • 11 messaggi
  • Sesso:Maschietto

Inviato 18 giugno 2012 - 01:15

Si, quasi. Diciamo che sarei soddisfatto se riesco ad ottenere, tramite applescript, 2 documenti distinti in txt. I path delle applicazioni e un secondo doc.txt con le path delle icone programmi. Tramite il tuo consiglio ottengo tutto. Ma lo devo eseguire da applescript se voglio farlo eseguire da filemaker. A meno di plug che non voglio usare in questo caso. L'unico neo del comando che mi hai suggerito è che genere path per tutti files .icns e non solo di quelli delle applicazioni. Ma questo lo risolvo da fm.

#6 Vladimiro Paglianti

Vladimiro Paglianti

    Quasi di Casa

  • Forum User +
  • 417 messaggi

Inviato 18 giugno 2012 - 13:02

Non conosco bene applescript nè tantomeno filemaker, quindi a parte indicarti l'espressione do shell script, che sicuramente conosci meglio di me, non so aiutarti.

#7 nichel

nichel

    Primi Passi

  • Forum User
  • 11 messaggi
  • Sesso:Maschietto

Inviato 18 giugno 2012 - 14:10

Grazie lo stesso Vladimiro, come già ti avevo detto con il tuo consiglio avevo risolto gran parte del mio problema.
Anzi non mi ero mai avvicinato al terminale per mia pigrizia. E' di una potenza incredibile :-)

#8 chebfarid

chebfarid

    Melina di Platino

  • Forum User +
  • 6493 messaggi
  • Sesso:Maschietto
  • Località:Milano
  • Interessi:Bridge - Saluki - Programmazione - Letture - Cucina - San Francisco Giants

Inviato 18 giugno 2012 - 15:46

L'unico neo del comando che mi hai suggerito è che genere path per tutti files .icns e non solo di quelli delle applicazioni. Ma questo lo risolvo da fm.

Basta modificare il comando di Vladimiro così:
find /Applications -name "*.app" -print

Ciao
Farid