Copia dei file negli Appunti usando applecript


11

Spesso mi trovo dalla riga di comando a voler copiare i file negli Appunti, in modo da poterli incollare come allegati in Mail. Se ho un file di immagine image1.png, posso farlo con

osascript -e 'tell app "Finder" to set the clipboard to ( POSIX file "image1.png" )'

Se eseguo il comando precedente e quindi apro un nuovo messaggio in Mail e premo il comando V, il file immagine viene incollato come allegato. Si noti che pbcopyapparentemente non è una soluzione qui, perché ciò copierebbe il contenuto del file e provocherebbe spazzatura quando incollato con il comando V.

La mia domanda è: come posso fare la stessa cosa con più file? Supponiamo che io voglia incollare entrambi image1.pnge image2.png. Questo è banale da Finder (selezionali entrambi, comando C, quindi passa a Posta e comando V; voilà, entrambi i file vengono visualizzati come allegati) ... ma come posso farlo dalla riga di comando?


1
Questo è TANTO un dolore nel tuckus di AppleScript. Consiglierei di scegliere uno dei gestori di appunti scrivibili o di usare Cocoa NSPasteboard tramite il tuo linguaggio di scripting preferito. Un'altra opzione potrebbe essere quella di creare un'azione cartella, in modo da poter copiare i file nella cartella, quindi fare in modo che Finder selezioni tutti gli elementi nella cartella, li copi negli appunti e svuoti la cartella. Se desideri semplicemente inviare i file tramite e-mail come allegati, un'alternativa è quella di scorrere l'elenco e creare Posta → nuovo messaggio in uscita → contenuto → allegati di posta.
Art Taylor,

1
@ArtTaylor, grazie per le opzioni. Sto lavorando ad un Applescript che fa l'ultima cosa che hai menzionato, sostanzialmente qualcosa a cui dirà a Mail make new attachment with properties {file name:this_file} at after last paragraph, usando un loop ripetuto argv. Mi chiedo se la risposta alla domanda originale, tuttavia, sia davvero semplicemente "non puoi farlo con Applescript".
JCOidl,

Ho davvero quella sensazione, ma odio dire "impossibile". Penso che la difficoltà sia davvero nel creare una soluzione generale poiché il Pasteboard contiene diverse versioni del contenuto degli Appunti, consentendo al destinatario Incolla di scegliere una rappresentazione appropriata.
Art Taylor

Risposte:


1

Questo non è del tutto perfetto per quello che vuoi, ma penso che potrebbe avvicinarti. Quicksilver ha uno strumento da riga di comando. Una volta installato, è possibile reindirizzare i file dalla riga di comando all'app Quicksilver e da lì inviarli come allegati in Mail.

Per installare lo strumento da riga di comando di Quicksilver, attivare Quicksilver. Quindi vai a Quicksilver> Preferenze per aprire la finestra delle preferenze. Fai clic su Preferenze in alto a destra della finestra. A sinistra, fai clic su Strumento da riga di comando e installa.

Nel Terminale, sarai in grado di digitare

qs path/to/file1 path/to/file2 path/to/file3 path/to/file4

Premendo invio verranno inviati quei file al primo riquadro di Quicksilver. Premi tab per passare al riquadro azioni e scegli l'azione Posta / Nuova e-mail con allegato. Premi Invio e dovrebbe apparire una nuova e-mail con i file selezionati allegati.

Nota che dovrai anche installare i plug-in Mail e Command Line in Quicksilver (Quicksilver> Preferenze> Plug-in).


1

Puoi fare qualcosa del tipo:

set f to {(POSIX file "/path/to/a/folder/a.png"), (POSIX file "/path/to/another/folder/b.png")}
tell application "Finder"
    try -- to delete any old temp folder
        delete folder "AS_mailCopy" of (path to temporary items)
    end try
    set tmp to make new folder at (path to temporary items) with properties {name:"AS_mailCopy"}
    duplicate f to tmp
    select files of tmp
    activate
    tell application "System Events" to keystroke "c" using command down
    delete tmp
end tell

Ora il tuo pannello di controllo contiene più file (da varie cartelle) che puoi incollare nella tua posta.


-5

Perché non trascinare e rilasciare? A volte i tecnici diventano eccessivamente complessi e dimenticano le semplici cose che un Mac può fare.


Wow. Tre persone che si oppongono al trascinamento della selezione.
Zo219

3
No, le persone che si oppongono alla risposta di "Perché non trascinare e rilasciare?" a una domanda che chiede come fare qualcosa con AppleScript.
Duncan Babbage,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.