Я очень новичок в AppleScript. Я часто делюсь файлами со своего локального компьютера в папку Dropbox.
Например:
From: ~/Work/hello.txt
To: ~/Dropbox/zzz_ShareMe/hello.txt
cp ~/Work/hello.txt ~/Dropbox/zzz_ShareMe/ # or, just copy files from finder
Я погуглил про AppleScript и придумал рабочий процесс, который копирует ТОЛЬКО ОДИН элемент, но как мы можем выбрать несколько файлов и скопировать их в Dropbox с помощью назначенной горячей клавиши (ctrl-alt-d)?
Содержимое Run NSAppleScript приведено ниже:
# Note: we should have ~/Dropbox/zzz_ShareMe folder
#
on alfred_script(q)
tell application "Finder"
set source to (POSIX path of (the selection as alias))
do shell script "cp -r" & space & quoted form of POSIX path of source & space & "~/Dropbox/zzz_ShareMe"
end tell
end alfred_script
Я поделился своим предварительным рабочим процессом здесь.
Этот рабочий процесс работает для одного файла.
Если я выбираю файл в Finder, ctrl-alt-d копирует файл в ~/Dropbox/zzz_ShareMe/
, однако, если я выбрал несколько файлов и использовал эти горячие клавиши, ничего не копируется.
Как мы можем решить эту проблему.
Помощь будет оценена.
Ссылки по теме:
http://www.packal.org/workflow/move
http://www.packal.org/workflow/copymove
https://www.alfredforum.com/topic/4195-move-selected-finder-item/
Обновление Я попробовал другой скрипт, но он все равно не работает.
Обязательное задание:
- выбрать несколько файлов в Finder
- Ctrl-Alt-D
- он должен скопировать все файлы в
~/Dropbox/zzz_ShareMe/
.
Новый скрипт приведен ниже:
on alfred_script(q)
tell application "Finder"
set source to selection
end tell
if (count of source) is greater than 1 then
set fileList to every item of source
repeat with source in fileList
doMove(source, q)
end repeat
else
doMove(source, q)
end if
end alfred_script
on doMove(source, destination)
set source to (POSIX path of (the source as alias))
set destination to "~/Dropbox/zzz_ShareMe"
do shell script "cp -r" & space & quoted form of POSIX path of source & space & POSIX path of destination
end doMove