Macos 创建自动机服务以在当前目录中创建新文档

Macos 创建自动机服务以在当前目录中创建新文档,macos,applescript,finder,automator,Macos,Applescript,Finder,Automator,因此,我正在尝试创建一个服务,该服务将位于Finder的上下文菜单中,并允许在当前目录中创建一个新文档 我一直在使用Automator: 对不起,所有的都是法语^^ 无论如何,下面是我用来检索当前工作目录的AppleScript: on run {input, parameters} tell application "Finder" set pwdAlias to insertion location as alias if not (exists fo

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

我一直在使用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
然后我将这个值设置为一个变量,然后使用这个变量作为文档的路径创建一个新的文本文档,最后我使用命令discover in Finder来显示创建的文档

一切都很顺利,除了脚本似乎总是很晚! 我的意思是,当我打开一个新的Finder窗口并选择我的服务时,它会在上一个窗口中系统地创建文档,如下所示:

但是,如果我再次尝试,文档将在预期位置正确创建:

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

对不起,如果我不是很清楚,这不是那么容易解释

除此之外,我正在运行Mountain Lion,下面是所附的Automator项目:

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

希望得到一些答案,但我担心这只是一个自动程序错误

这是一个

使用此解决方法

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
试试这个

  • 取决于您要单击的内容
将所选服务设置为:“文件夹”” 或文件或文件夹。在“Finder.app”中

  • 获取第一个查找器窗口路径操作
您可以从下载Get first Finder窗口路径操作 下载在文章的末尾。 该操作获取最前面的finder窗口的posix路径。 因为您正在单击窗口中的文件夹。该窗口将是返回的窗口

  • 设置变量的值

  • 获取指定的文本

下一个操作“新建文本文件”需要一些输入。如果未获得任何,则不会创建任何文件。您可以将文本字段留空。让行动到位就行了

  • 新文本文件
将变量“path”或您命名的变量拖到Where:下拉菜单中

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

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

嘿,感谢您的快速回复!我试过那个脚本,但它给了我随机的结果;我正在尝试在我的文档中创建一个文档,该文档正在我的用户文件夹中创建~。因此,通过使用输入的路径,我的做法有点不同:
将pwd设置为(第一项输入的POSIX路径)
。它不像我希望的那样通用,但它正在发挥作用!顺便说一句,你的服务链接断了!我编写并更新了如何使用automator将此选项放入上下文菜单的教程,请参见