Sie sollten diese Frage idealerweise im Alfred Forum posten . Ihr Problem ist jedoch ziemlich einfach, daher helfe ich gerne hier.
Grundsätzlich ist Ihr AppleScript für den Single-File-Workflow inhärent auf die Verarbeitung einer einzelnen Datei beschränkt, da die Variable source
in einen alias
, einem unären Datentyp (einem einzelnen Wert) erzwungen wird. Es gibt eine Klasse alias list
, die - wie der Name schon sagt - für eine Liste von Aliasnamen geeignet ist.
Sie haben auch AppleScript mit Bash-Skript gemischt, was in anderen Situationen sehr nützlich sein kann, aber hier ist es etwas komisch, da es keinen Grund gibt, dies zu tun. Ich gebe Ihnen also separate AppleScript- und Bash-Lösungen.
Der Workflow
Erstellen Sie einen Workflow, der die folgenden Kompromisse Hotkey - Trigger mit dem Run Script ( nicht starten NSAppleScript ) Aktion (siehe Alfred Hilfeseiten für weitere Informationen über diese beiden Aktionen, aber im Allgemeinen, müssen Sie nie verwenden Run NSAppleScript Aktion) :
Doppelklicken Sie auf den Hotkey-Auslöser, um ihn zu konfigurieren. Ich gehe davon aus, dass Sie im ersten Tab ( Hotkey-Einstellungen ) wissen, wie Sie den gewünschten Hotkey einstellen. Setzen Sie das Feld Argument jedoch auch in macOS auf Selection .
Auf der zweiten Registerkarte ( Verwandte Apps ) können Sie die Aktion des Hotkeys so einschränken, dass er nur funktioniert, wenn der Finder den Fokus hat. Ziehen Sie dazu das App-Symbol des Finder in das Listenfeld (am einfachsten lösen Sie das Suchfeld von Alfred aus, geben Sie "Finder" ein und ziehen Sie das Symbol von hier nach dort).
Speichern Sie die Einstellungen.
Das Skript
Doppelklicken Sie auf die Aktion Skript ausführen, um das Editorfenster aufzurufen. Sie können die gewünschte Sprache in der ersten Dropdown-Liste auswählen. Die beiden, an denen wir uns für diese Frage interessieren, sind /bin/bash
(oder Ihr gleichwertiger Listeneintrag) und /usr/bin/osascript (AS)
(oder gleichwertig).
osascript
ist die Engine, die AppleScripts kompiliert und ausführt.
AS
verweist auf AppleScript; JS
bezieht sich auf JavaScript.
Bash
Wenn Sie sich für die Verwendung von Bash entscheiden, wählen Sie mit Eingabe als argv aus . Löschen Sie den im Bearbeitungsfeld angezeigten Beispielcode, und geben Sie den folgenden Code ein:
cp "$@" ~/Dropbox/zzz_ShareMe
AppleScript
Wenn Sie AppleScript wählen, spielt der Eingabetyp hier keine Rolle. Löschen Sie den im Bearbeitungsfeld angezeigten Beispielcode, und geben Sie den folgenden Code ein:
tell application "Finder" to reveal ¬ (duplicate (selection as alias list) ¬ to folder "zzz_ShareMe" ¬ of folder "Dropbox" ¬ of home)