2016-06-13 3 views
2

При использовании Finder сценарий может занять много времени. Я также хочу, чтобы этот скрипт работал на фоне. Как я могу использовать System Events/bash вместо Finder в этом скрипте?AppleScript: перемещение файлов с помощью системных событий или bash

property source_folder_one : alias "OS X:Users:username:Pictures:Work:New:one" 
property source_folder_two : alias "OS X:Users:username:Pictures:Work:New:two" 
property save_folder_one : alias "OS X:Users:username:Pictures:Work:Waitlist:one" 
property save_folder_two : alias "OS X:Users:username:Pictures:Work:Waitlist:two" 

tell application "Finder" 
    move entire contents of folder source_folder_one to folder save_folder_one 
    move entire contents of folder source_folder_two to folder save_folder_two 
end tell 

display notification "All images were relocated." with title "Relocating Complete" sound name "Glass.aiff" 
tell me to quit 
+0

AppleScript не поддерживает использование нескольких потоков и на самом деле не является хорошим выбором для фоновых задач и т. Д. Это довольно просто сделать с помощью пары строк кода в bash, а затем сохранить его как команду .command. –

+1

Используйте команду сценария do shell с командой unix «mv», чтобы переместить все ваши файлы (используя файлы с именем *. * Из папки A в папку B). Это делается в фоновом режиме и на уровне оболочки (самый быстрый способ). – pbell

+0

Не могли бы вы мне помочь? Я никогда ничего не писал о bash. –

ответ

0

Я сделал applescript, который делает то, что вы хотите. Но для одной папки вместо двух вы можете выбрать папку в приглашении.

set sourceFolder to (choose folder) as alias 
set saveFolder to (choose folder) as alias 
set sourceFolderPOSIXPath to (the POSIX path of sourceFolder) 
set saveFolderPOSIXPath to (the POSIX path of saveFolder) 

set shellString to "mv " & sourceFolderPOSIXPath & "* " & saveFolderPOSIXPath 
do shell script shellString 

display notification "All files were relocated." with title "Relocating Complete" sound name "Glass.aiff" 

Если вы хотите использовать постоянный псевдоним, просто замените (choose folder) с "OS X:Users:username:Pictures:Work:New:one" и так далее.

+0

Работал отлично! Благодаря! И я мог бы добавить вторую папку прямо там, и это сработало! –

Смежные вопросы