Apple Automator采用屏幕捕获并保存到用户指定的位置

时间:2015-02-11 02:50:04

标签: applescript automator

因此,我尝试在Mac OS Yosemite下使用Automator来创建一项服务,允许用户截取屏幕截图并将其保存到他们指定的位置,通过某种方式"另存为&# 34;对话。看起来应该很容易,但由于某种原因,我遇到了困难。屏幕截图组件很简单,使用"截图" Automator中的操作,但将其保存到导致我出现问题的自定义位置。

尝试了几种不同的方法之后,最简单的方法就是将屏幕截图保存到"截取屏幕中的固定目录/文件名。操作,然后(使用AppleScript)将其重命名为该目录,并将其移动到用户指定的目标目录。所以,我添加了一个"运行AppleScript"行动到我的服务。在其中,我使用AppleScript中的choose file name命令生成用于选择文件名/路径的对话框。我试图从路径中拆分文件名,这样我就可以重命名我保存的文件"截图,"然后将其移动到我想要保存的路径上。我可以获得完整的路径,但是从路径中获取文件名时遇到了问题 - 我已经尝试了我在网上看到的各种建议。在我的屏幕截图中,显示的错误来自于尝试

我没有以任何方式设置此流程,所以如果有人对如何做我想做的事情有任何更好的建议,请务必告诉我。否则,如果某人能够告诉我如何从路径中提取文件名(以及是否有一些特殊的方法,你必须使用该字符串来重命名文件)' d太棒了!

Screenshot of Automator service

截图中的AppleScript代码:

on run {parameters}
    set thePath to (choose file name with prompt "Where would you like to save your file?")
    tell application "Finder"
        display dialog thePath as string
    end tell
    set UnixPath to POSIX path of (thePath as text)
    display dialog UnixPath
end run

我尝试了这个,但它没有工作:

set basePath to POSIX path of (parent of (thePath) as string)

感谢您查看!

2 个答案:

答案 0 :(得分:1)

一种简单的方法是使用命令行工具" screencapture"。它有许多选项供您选择。请参见其手册页。这是一个可以直接作为AppleScript运行的示例,或者如果您愿意,可以将其置于Apple脚本自动机操作中。

祝你好运。

set thePath to (choose file name with prompt "Where would you like to save your file?")
do shell script "screencapture -mx -T1 " & quoted form of (POSIX path of thePath & ".png")

答案 1 :(得分:0)

我在Automator中创建了一个Folder动作。选择桌面。添加Find Finder对象(搜索:桌面)。添加移动查找器对象并选择首选目标。这将自动移动您的所有屏幕截图。