2016-06-13 5 views
2

Finderを使用すると、スクリプトに多くの時間がかかることがあります。私はまた、このスクリプトがバックグラウンドで動作するようにしたい。このスクリプトでFinderの代わりにSystem Events/bashを使用するにはどうすればいいですか?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の2行のコードで簡単に実行でき、コマンドとして保存できます。 –

+1

unixコマンド 'mv'でdoシェルスクリプトコマンドを使用して、すべてのファイル(*。*という名前のファイルをフォルダAからフォルダBに移動)を移動します。それはバックグラウンドとシェルレベル(最速の方法)で行われます。 – pbell

+0

それを手伝ってもらえますか?私はbashで何も書かなかった。 –

答えて

0

私はあなたが望むことをするためのリンスクリプトを作成しました。 2つではなく1つのフォルダに対して、プロンプトでフォルダを選択できます。

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" 

あなたが一定のエイリアスを使用したい場合は、ちょうどそうに"OS X:Users:username:Pictures:Work:New:one"(choose folder)を交換して。

+0

完璧に作業しました!ありがとう!そして、私はすぐに2番目のフォルダを追加することができ、それは同様に働いた! –

関連する問題