创建automator服务以在当前目录中创建新文档

gui*_*002 7 macos applescript finder automator

所以我正在尝试创建一个服务,它将位于Finder的上下文菜单中,并允许在当前目录中创建一个新文档.

我一直在使用Automator: Automator项目 对不起,一切都在法语^^

无论如何这里是我用来检索当前工作目录的AppleScript:

on run {input, parameters}
    tell application "Finder"
        set pwdAlias to insertion location as alias
        if not (exists folder pwdAlias) then
            set pwdAlias to (container of pwdAlias) as alias
        end if
    end tell
    set pwd to POSIX path of pwdAlias
    return pwd
end run
Run Code Online (Sandbox Code Playgroud)

然后我将此值设置为变量,然后使用变量作为文档的路径创建新的文本文档,最后我使用Finder中的Reveal命令来显示创建的文档.

一切都运行正常,但脚本似乎总是迟到!我的意思是当我打开一个新的Finder窗口并选择我的服务时,它会在前一个窗口上系统地创建文档,如下所示: 选择 该文档是在错误的位置创建的

但是,如果我再次尝试,则会在预期位置正确创建文档: 再次尝试创建新文档 这次文档正确创建!

这是非常系统的,每次都会发生!

对不起,如果我不是很清楚,解释起来就不那么容易了!

好吧,否则,我正在运行Mountain Lion,这是附加的Automator项目:create_new_document

要添加服务只需解压缩并将文件放在〜/ Library/Services /下

希望得到一些答案,但我担心这只是一个Automator错误!

mar*_*nte 6

试试这个在此输入图像描述

  • 取决于您要点击的内容.

将所选服务设置为:' 文件夹 '或文件或文件夹.在' Finder.app '中

  • 获取第一个Finder窗口路径动作

您可以从我的博客文章下载获取第一个Finder窗口路径操作 下载位于帖子的底部.Action获取最前面的查找器窗口的posix路径.由于您单击窗口中的文件夹.该窗口将是返回的窗口.

  • 设置变量的值

  • 获取指定文本

下一个动作'新文本文件'需要一些输入.如果没有,则不会创建任何文件.您可以将文本字段留空.只是采取行动有效.

  • 新文本文件

将变量"路径"或您命名的路径拖到Where:下拉菜单中.

您可以单击Automator窗口底部的双蓝线来切换工作流程变量列表

工作流变量列表

保存您的服务.试试吧.(可能需要一段时间才能显示在上下文菜单中.)


jac*_*300 3

这是10.7 和 10.8 中的一个未解决的错误

使用此解决方法

on run {input, parameters}
    activate application "System Events"
    activate application "Finder"
    tell application "Finder"
        set pwdAlias to insertion location as alias
        set pwdAlias to (container of pwdAlias) as alias
    end tell
    return POSIX path of pwdAlias
end run
Run Code Online (Sandbox Code Playgroud)