Copiando archivos en el portapapeles usando applescript

10

A menudo me encuentro en la línea de comandos que desea copiar archivos en el portapapeles, de modo que pueda pegarlos como archivos adjuntos en Mail. Si tengo un archivo de imagen, image1.png , puedo lograr esto con

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

Si ejecuto el comando anterior y luego abro un mensaje nuevo en Mail y presiono el comando V, el archivo de imagen se pega como un archivo adjunto. Tenga en cuenta que pbcopy es aparentemente no una solución aquí, ya que esto copiaría el contenido del archivo y dará como resultado un correo no deseado cuando se pegue con el comando V.

Mi pregunta es ¿cómo puedo hacer lo mismo con varios archivos? Supongamos que quiero pegar tanto image1.png como image2.png . Esto es trivial desde Finder (selecciónelos, comando C, luego cambie a Correo y comando V; voila, ambos archivos aparecen como archivos adjuntos) ... pero, ¿cómo puedo hacer esto desde la línea de comandos?

    
pregunta JCOidl 06.10.2012 - 00:03

3 respuestas

1

Esto no es perfecto para lo que quieres, pero creo que podría acercarte más. Quicksilver tiene una herramienta de línea de comandos. Cuando está instalado, puede canalizar los archivos desde la línea de comandos a la aplicación Quicksilver, y desde allí enviarlos como archivos adjuntos en el correo.

Para instalar la herramienta de línea de comandos Quicksilver, active Quicksilver. Luego navega a Quicksilver > Preferencias para abrir la ventana de preferencias. Haga clic en Preferencias en la parte superior derecha de la ventana. A la izquierda, haga clic en la herramienta de línea de comandos e instale.

En Terminal, podrás escribir

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

Al presionar enter se enviarán esos archivos al primer panel de Quicksilver. Presione la pestaña para moverse al panel de acción y elija la acción Correo / Nuevo correo electrónico con archivo adjunto. Presione Intro, y debería aparecer un nuevo correo electrónico con los archivos seleccionados adjuntos.

Tenga en cuenta que también deberá instalar los complementos de Correo y Línea de Comandos en Quicksilver (Quicksilver > Preferences > Plug Ins).

    
respondido por el Sojourner 14.10.2012 - 05:16
0

Puedes hacer algo como:

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

Ahora su mesa de trabajo contiene varios archivos (de varias carpetas) que puede pegar en su correo.

    
respondido por el Bibou 28.02.2013 - 12:40
-4

¿Por qué no solo arrastrar y soltar? A veces los técnicos se vuelven demasiado complejos y olvidan las cosas simples que puede hacer una Mac.

    
respondido por el Zo219 11.10.2012 - 06:27

Lea otras preguntas en las etiquetas