12 votes

Copie de fichiers dans le presse-papiers à l'aide d'applescript

Je me retrouve souvent à la ligne de commande à vouloir copier des fichiers dans le presse-papiers, afin de pouvoir les coller comme pièces jointes dans Mail. Si j'ai un fichier image, image1.png Je peux le faire avec

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

Si j'exécute la commande ci-dessus, puis ouvre un nouveau message dans Mail et appuie sur la commande V, le fichier image est collé en tant que pièce jointe. Notez que pbcopy est apparemment no une solution ici, car cela copierait le contenu du fichier et se traduisent par des déchets lorsqu'ils sont collés avec la commande V.

Ma question est la suivante : comment puis-je faire la même chose avec plusieurs fichiers ? Supposons que je veuille coller les deux image1.png y image2.png . C'est trivial à partir du Finder (sélectionnez les deux, commande C, puis passez à Mail et commande V ; voilà, les deux fichiers apparaissent en tant que pièces jointes) mais comment puis-je faire cela à partir de la ligne de commande ?

1voto

CrusaderJ Points 400

Ce n'est pas tout à fait parfait pour ce que vous voulez, mais je pense que ça pourrait vous en rapprocher. Quicksilver dispose d'un outil en ligne de commande. Une fois installé, vous pouvez transférer des fichiers de la ligne de commande vers l'application Quicksilver et, de là, les envoyer en tant que pièces jointes dans Mail.

Pour installer l'outil de ligne de commande Quicksilver, activez Quicksilver. Naviguez ensuite vers Quicksilver > Préférences pour ouvrir la fenêtre des préférences. Cliquez sur Préférences en haut à droite de la fenêtre. Sur la gauche, cliquez sur Command Line Tool et installez.

Dans le Terminal, vous pourrez taper

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

En appuyant sur la touche Entrée, ces fichiers seront envoyés dans le premier volet de Quicksilver. Appuyez sur la touche tabulation pour accéder au volet d'action et choisissez l'action Mail/Nouveau courriel avec pièce jointe. Appuyez sur la touche Entrée, et un nouvel e-mail avec les fichiers sélectionnés en pièce jointe devrait apparaître.

Notez que vous devrez également installer les plugins Mail et Command Line dans Quicksilver (Quicksilver > Préférences > Plug Ins).

1voto

Bibou Points 810

Vous pouvez faire quelque chose comme :

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

Votre presse-papiers contient maintenant plusieurs fichiers (provenant de divers dossiers) que vous pouvez coller dans votre courrier.

-6voto

Zo219 Points 2597

Pourquoi ne pas simplement glisser et déposer ? Parfois les techniciens deviennent trop complexes et oublient les choses simples qu'un Mac peut faire.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X