我目前正在尝试自动化一个任务作为一个应用程序,但有困难的步骤“保存URL”,并需要一个自定义的applescript来取代它。
给你我的项目背景:我买了一个东芝FlashAir SD WIFI卡,用于无线连接的图片拍摄。我想实时下载所有的文件从我的相机与SD无线卡(安装在我的相机)到我的Mac电脑。东芝FlashAir运行自己的网络连接,您可以通过网页浏览器浏览SD内容(没有ftp,没有webdav.,所以只有http连接)。我准备了一个上传到SD的html/Jquery页面,其中包含了FlashAir API,这样当您访问页面http : // flashair时,您就会得到一个页面,该页面中的所有图像链接每秒钟刷新一次。它几乎是实时的,并在浏览器中显示新的镜头图像。
我想下载这些图片在我的电脑上,以便iPhoto或任何其他照片应用程序可以“观看”的目录,就像在系绳模式和进程,如果我需要的话。
在我的计算机端,使用AUTOMATOR:
所以一切都很完美,但是当我启动自动化工作流时,相同的图片会被一次又一次地保存,文件名后缀-01,-02,.。这意味着我有与循环实例相同数量的重复图片。
如果我只想从远程下载新文件或修改文件到本地文件,自动化程序“下载URL”不允许我精确地下载。
有没有人可以帮助我完成这个" Applescript“步骤,这样我就可以用一个特定的Applescript步骤来替换automator "Download”,这个步骤可以查看文件是否已经存在,如果不是下载每个循环实例的话?
非常感谢你宝贵的答案,我被困在这,一切都是完美无缺的,但重复的文件问题。
达米恩
发布于 2014-07-08 19:17:47
下面是您要查找的代码:
on run {input, parameters}
set dLocation to POSIX path of (path to downloads folder) & "test/"
set fileList to {}
set AppleScript's text item delimiters to {"/"}
repeat with i from 1 to (count of input)
# With the delimeter to '/' last item is the filename!
set urlStr to (get item i of input) as text
set urlFile to last text item of urlStr
set savedFile to (dLocation & urlFile) as POSIX file
log "Saved file is: " & savedFile
try
savedFile as alias
log "File exists: " & savedFile
on error mMsg
set end of fileList to urlStr
log "Adding URL: " & urlStr
end try
# delay 5
end repeat
return fileList
end run上面所做的就是在链接的末尾抓取文件名。它检查文件是否存在,如果不存在,则将链接添加到要下载的链接列表中。然后,它会传递链接列表。
在Applescript操作之后,添加一个Download URLs操作,您应该完成。
编辑:
所以工作流会是这样的:
请注意,循环操作限制您1000分钟。因此,您有两个选择: 1)添加更多的循环操作,或者2)从具有无限循环的脚本启动工作流.
另一种方法是将整件事情写成一个脚本,并让它连续运行。
EDIT2:
哎呀,再读一遍你的问题。这是240分钟,所以一个循环功能将工作得很好。
https://stackoverflow.com/questions/21152784
复制相似问题