В идеале, вы должны были разместить этот вопрос на форуме Альфреда . Однако ваша проблема довольно проста, поэтому я с радостью помогу здесь.
По сути, ваш AppleScript для рабочего процесса с одним файлом сам по себе ограничивается обработкой одного файла, потому что переменная source
приведена к alias
типу, который является унарным типом данных (одно значение). Существует класс с именем alias list
, который, как следует из названия, подходит для списка псевдонимов.
Вы также смешали AppleScript со скриптом Bash, который может быть очень полезен в других ситуациях, но это немного странно, так как нет причин делать это. Итак, я дам вам отдельные решения AppleScript и Bash.
Рабочий процесс
Создайте рабочий процесс, который скомпрометирует следующий триггер горячей клавиши, связанный с действием Run Script ( не Run NSAppleScript ) ( для получения дополнительной информации об этих двух действиях обратитесь к страницам справки Alfred, но, вообще говоря, вам никогда не потребуется использовать действие Run NSAppleScript ) :
Дважды щелкните триггер горячей клавиши, чтобы настроить его. На первой вкладке ( Настройки горячей клавиши) я предполагаю, что вы знаете, как установить нужную горячую клавишу. Однако, также установите поле Аргумент в Выбор в macOS .
На второй вкладке ( Похожие приложения ) вы можете ограничить действие горячей клавиши, чтобы она работала только тогда, когда в Finder есть фокус. Для этого перетащите значок приложения Finder в список (самый простой способ - вызвать поле поиска Альфреда, ввести «Finder» и перетащить значок отсюда туда).
Сохраните настройки.
Сценарий
Дважды щелкните действие « Выполнить сценарий», чтобы открыть панель редактора. Вы можете выбрать нужный язык в первом раскрывающемся списке: для целей этого вопроса нас интересуют два /bin/bash
(или ваша эквивалентная запись в списке) и /usr/bin/osascript (AS)
(или эквивалентный).
osascript
это механизм, который компилирует и выполняет AppleScripts.
AS
относится к AppleScript; JS
относится к JavaScript.
удар
Если вы решите использовать Bash, выберите с вводом как argv . Удалите любой пример кода, который появляется в поле редактирования, и введите этот код:
cp "$@" ~/Dropbox/zzz_ShareMe
AppleScript
Если вы выбираете AppleScript, тип ввода здесь не имеет значения. Удалите любой пример кода, который появляется в поле редактирования, и введите этот код:
tell application "Finder" to reveal ¬ (duplicate (selection as alias list) ¬ to folder "zzz_ShareMe" ¬ of folder "Dropbox" ¬ of home)