自動執行iSync同步 - MAC

Table of Contents


uranusjr:AppleScript 可以, 不過我不太會用 iSync... 04/10 02:26
mdfh:感謝樓上的提示 找到一篇白天再來試試看 http://0rz.tw/f83Wo 04/10 02:59

昨天邊看歐冠邊寫了一個

======

-- 把這個程式設成登入時執行

if application "iSync" is not running then
tell application "iSync" to run
delay 10
end if

tell application "iSync"
set lastSyncDate to last sync
quit
end tell

-- 檢查 iSync 有沒有在執行, 沒有的話執行
-- 讀入上次同步的時間

set dateNow to current date


-- 以上只會在本程式啟動時執行, 以下是迴圈

repeat

-- 每天更新現在日期

if dateNow is not (current date) then
set dateNow to current date
end if

-- 檢查現在是不是週日, 以及今天有沒有同步過
-- 如果沒有, 則執行 iSync, 同步, 然後更新上次同步時間

if dateNow is Sunday and lastSyncDate is not dateNow then
tell application "iSync"
run
delay 3

synchronize
repeat while syncing is true -- 這邊改了
delay 1
end repeat
set lastSyncDate to last sync

quit
end tell
end if

-- 六小時(21600 秒)之後再回來重作一次

delay 21600

end repeat

======


我不太用 iSync, AppleScript 也不算太熟

希望可以提供參考, 如果有砂鍋大的 bug 也請提出來

(我甚至不確定 delay 21600 行不行得通 orz)



--
我承認只是想練習一下...

--

All Comments

Catherine avatarCatherine2008-04-12
AppleScript 可以, 不過我不太會用 iSync...
David avatarDavid2008-04-14
感謝樓上的提示 找到一篇白天再來試試看 http://0rz.tw/f83Wo
Noah avatarNoah2008-04-17
冏> 辛苦了 但是我這裡出現錯誤: 尚未定義變數"running"
Ida avatarIda2008-04-20
啊我發現問題了...我改一下好了
Odelette avatarOdelette2008-04-21
不好意思因為完全不懂 orz 這是跑過一次以後
Rae avatarRae2008-04-25
遇到星期日的時候每六小時更新一次?
那...如果中間重新開機過是不是要重run一次?