我正在編寫一個帶有Applescript的小型Automator腳本。 Applescript運行一個shell腳本,將一些圖像下載到指定的文件夾。 Automator腳本中的下一步是從這些圖像中生成PDF。 小問題,在圖像下載完成之前PDF的創建已經開始,所以我得到一個空的PDF文件。 如何讓Automator等到Applescript完成下載後才能進入下一步?只有當AppleScript完成後才能繼續Automator腳本
0
A
回答
0
你用什麼shell命令來下載?捲曲?這樣做的一個辦法是每次下載後添加一些shell腳本,如:
curl http://whatever/Your/Url/is/file1.xxx;echo ''>file1.deleteme
然後確保你的AppleScript只找到了file1.deleteme文件並將其刪除後啓動PDF格式的一部分。當我用curl來做這件事時,它將不會在完成下載之前創建那個空文件。
的AS的部分可以用類似(危險,未測試)啓動:
--within outer loop for each file...
tell application "Finder"
repeat until exists (pathToDeleteMeFile)--this is built using basename + "deleteme"
delay 1--one second delay
end repeat
end tell
--do pdf stuff here for that (each) file
,或者,如果你喜歡(或者,如果這使得依賴於你的代碼是什麼樣子更有意義:
做外殼腳本所有文件,創建一個更通用的DELETEME文件後,他們所有完成,然後做 PDF格式的東西。
0
Automator 確實等到運行腳本操作完成。如果沒有看到您的代碼,猜測問題是您的AppleScript正在使用某種異步下載方法 - 告訴Safari,也許? - 所以腳本在下載實際完成之前完成。使用同步方法,例如curl
(1)的上述建議,應該解決問題。
順便說一句,使用運行腳本操作調用do shell script
是有點愚蠢;你可以改用運行Shell腳本。
相關問題
- 1. 我需要等到活動完成才能繼續,但有時只有
- 2. 只有當按鈕點擊完成後,才能點擊
- 3. 只有當另一個完成後才能運行函數
- 4. 只有在'else'後才能繼續使用Javascript函數
- 5. 命令完成後繼續執行linux shell腳本
- 6. 在PHP腳本完成後繼續執行任務
- 7. 如何等到承諾完成後才繼續循環
- 8. 只有當gobject.idle_add()函數終止時纔有辦法繼續?
- 9. 只有完成讀取序列後,Arduino才能做些什麼?
- 10. 只有當兩個文件存在時才繼續程序C
- 11. MPMoviePlayer在流完成後繼續播放
- 12. onCreate流程在完成後繼續()
- 13. ajax請求完成後繼續工作
- 14. 功能調用的子程序是否必須完成功能才能繼續?
- 15. 直到腳本完成後文件才寫完
- 16. 郵件「無法繼續」的AppleScript功能
- 17. 的NodeJS,等到當前請求完成,然後繼續(或)等到了firstFunction纔去第二個功能
- 18. 等功能完成並返回響應然後繼續forloop
- 19. JS在多次.load()後繼續 - 功能完成
- 20. 退出PowerShell功能,但繼續腳本
- 21. Automator,AppleScript或其他?
- 22. 只有在delayed_job成功完成後,我如何才能保存對象?
- 23. 只有當所有的異步操作完成後,我如何才能讓我的應用程序繼續運行?
- 24. PHP腳本404完成後
- 25. MacOS更新後AppleScript和Automator的問題
- 26. 只有在所有Mapper完成後才減少工作?
- 27. JavaScript表單驗證,在繼續之前未完成完整腳本
- 28. 如果功能沒有完成,定時器是否繼續
- 29. 如何確保信號處理程序完成,然後才繼續程序?
- 30. 腳本在命令行後不能繼續
你可以發佈你的AppleScript代碼嗎?沒有它,很難猜測可能的解決方案。 – 2013-02-26 09:47:38