Copia NSURL di un file negli appunti

1

Sto provando a fare una cosa piuttosto semplice: nel menu di scelta rapida voglio avere un'azione (ad esempio con Automator) che ottiene e copia l'NSURL del file negli appunti.

La soluzione sembra semplice, ma non funziona (un errore non specifico). Ecco cosa ho finora:

on run {input, parameters}

   set p to POSIX path of (input)
   set nsu to current application's |NSURL|'s fileURLWithPath:p

   return nsu

end run

Sto cercando di ottenere l'URL di riferimento del file, in questo modo: file: ///.file/id=6571367.2773272/

Sono su El Capitan.

Qualche idea?

    
posta hosea46 14.10.2015 - 15:45
fonte

2 risposte

1

Ecco la soluzione al problema (da: link ):

use framework "Foundation"

on run {input, parameters}

    set p to POSIX path of (input)
    set nsu to current application's |NSURL|'s fileURLWithPath:p

    set fru to nsu's fileReferenceURL()'s absoluteString() as text

    return fru

end run

Non ho controllato la risposta di jweak. Potrebbe anche funzionare, dopo tutto. Anche il poster su macscripter ha menzionato qualcosa di importante: l'input può contenere un elenco di elementi (multi-selezionato).

Spero che questo aiuti qualcuno.

    
risposta data 14.10.2015 - 19:52
fonte
-1

Se si perde il parametro parametri, lasciando solo input, e se si avvia lo script dichiarando il framework, funziona.

use framework "Foundation"
on run {input}
   set p to POSIX path of (input)
   set nsu to current application's |NSURL|'s fileURLWithPath:p

   return nsu
end run
    
risposta data 14.10.2015 - 17:51
fonte

Leggi altre domande sui tag