在Automator中创建的服务的位置


19

很久以前,我在Automator中创建了一项服务,该服务仍然有效。但是我想更改代码,它既不在/ Library / Services /也不在〜/ Library / Services /中,因为它们都是空的

我丢失了源代码还是可以恢复原代码?


1
奇怪... ~/Library/Services/是在Automator中创建的新服务的默认位置,我只是通过创建新服务来确认自己。
奥斯丁,

Answers:


19

正如其他人所说,服务通常位于Library / Services文件夹之一(〜/ Library / Services,/ Library / Services和/ System / Library / Services)中。如果只是查看并不能打开它,另一种选择是在调用服务时监视正在打开的文件,例如:

sudo opensnoop -n WorkflowService

...,然后运行服务,并浏览结果以查看是否可以找到相关文件。如果它不是基于Automator的服务,则您可能不得不放弃-n WorkflowService(尽管您将有更多不相关的文件要进行排序,因为您会看到每个文件在整个操作系统中都打开了)。


sudo opensnoop -n WorkflowService根本什么都没显示,也没有任何合理的理由sudo opensnoop
蒂洛2011年

1
@Tyilo:我敢肯定,这实际上不是基于Automator的服务。可能由您安装的应用程序提供吗?
戈登·戴维森

你是对的!我以为我自己做的...非常感谢!
提洛

1
我已经获得了10点经验值,并且对已经了解的越野车流程打了+1opensnoop
BaseZen

10

用户创建的服务的位置在以下位置:

~/Library/Services/

(已测试Mac OS X Mountain Lion 10.8.4)

通过在终端中输入以下命令获得的其他位置:

mdfind .workflow

在10.9.5上仍然相同,如果有疑问,mdfind会这样做。
拉斯克斯

这是我在El Capitan上的事情。请注意,这/Users/<username>/Library是一个隐藏的和/或系统目录,因此您需要激活适当的设置才能在Finder中显示它。
Magnus W

2

你尝试了~/Library/Workflows/吗?


也不存在,也尝试过/ Library / Workflows /
蒂洛

我正是在这里找到了在Mavericks上创建的我的自动化脚本,但现在正在运行Yosemite。
邓肯2015年

1

尝试.workflow在Spotlight中搜索以在您的用户文件夹中找到所有工作流程文件。该服务将被调用Whatever the Service Name Is in the Services Menu.workflow

如果您更喜欢终端,此命令将执行相同的操作,搜索当前目录及其下的所有文件夹:

find ./ -name "*.workflow"

编辑:更正了终端命令中的一个小错误。显然-type f不适用于.workflow文件。


在Spotlight中没有结果,并且终端命令没有结果:'tyilos-macbook:〜Tyilo $ mac // tyilos-macbook:/ Tyilo $ sudo find ./ -type f -name“ * .workflow”密码:find:.// dev / fd / 3:找不到目录:.//dev/fd/4:并非目录'
Tyilo

@Tyilo抱歉,我纠正了Terminal命令中的错字。再试一次,如果它在主目录(~)中找不到任何内容,请尝试从系统的根目录中运行它(即cd /在运行find命令之前先输入回车)。 这将需要一段时间,因此请耐心等待。
奥斯丁,

@Tyilo当然,您可以通过Macintosh HD在Finder中打开并.workflow在搜索框中键入来在GUI中搜索根文件夹。(选中该File Name选项而不是Contents进行更快的搜索。)此操作的唯一缺点是,它不会在隐藏或系统文件夹中搜索,但无论如何您可能都不需要它。
奥斯丁,

@Austin我的文件不在使用cd /和的文件之间sudo find ./ -name "*.workflow" > ~/Desktop/services.txt。我发现另外两个文件夹也可能是可能的位置,但是它们不包含该文件。地点分别是/Library/Application Support/Apple/Automator/Workflows//System/Library/Services/。我已将文件上传到此处:cl.ly/6i1t
Tyilo

@奥斯汀也尝试过sudo find ./ -name "*" > ~/Desktop/all.txt但仍然没有对手
蒂洛

1

编辑添加

绝对应该将Automator服务存储在 ~/Library/Services根据我的Google搜索,。我刚刚在Automator中创建了一个新服务,并将其放置在那里。


也许 ~/Library/Application Support/Automator/

或者,当我上次提供服务时,我认为我必须将其保存为.app第一个服务,因此您可能会搜索应用程序。


/ Library / Application Support / Automator /文件夹不存在,但是〜/ Library / Application Support / Automator /确实存在并且为空
-.

@Tyilo对不起,这就是我的意思。修正了我的答案,即使是错误的。:)
马修·弗雷德里克

@Matthew Frederick使用@Austin命令找到了所有应用程序文件,但没有一个与我的服务标题匹配
Tyilo

@Tyilo我刚刚检查了系统,意识到我已经创建了一个AppleScript应用程序,然后使用Automator将其转换为服务,因此提出了.app建议。结果,.app和.scpt文件都存在。除非您这样做,否则我的建议无济于事。
马修·弗雷德里克

@Matthew Frederick没有.s的.scpt文件,但是服务文件whaty必须在某个地方,否则它将无法工作
Tyilo

1

我知道找到工作流或其他任何东西的最好方法是使用该应用程序:“ EasyFind.app”。与Finder和Spotlight甚至Unix命令行不同,EasyFind.app可以配置为在任何地方搜索,并且具有Unix样式的模式匹配功能。例如,“ *。workflow”可用于在整个硬盘驱动器上查找任何服务。

最重要的是EasyFind.app是免费和合法的。

EasyFind.app

配置EasyFind.app以查找任何Automator工作流程(包括服务)

如果不想使用其他程序,则可以运行终端并输入命令:

mdfind .workflow

您能详细说明一下EasyFind可以在哪里找到东西/usr/bin/find吗?
nohillside

@patrix我一直在看/ usr / bin / find。我相信它会起作用,只是EasyFind.app更易于使用。
凯德尔2013年

1
@patrix:以下命令对我而言行得通:find〜 - name“ .workflow”比find ./ -name“ .workflow” 更好,后者仅搜索当前目录。从命令行来看,我不信任它真的是/ usr / bin / locate。速度更快,但是必须先对文件建立索引,然后才能找到它们。另外,我也不信任Finder> Finder或Spotlight来查找所有内容,因为它们没有打开应用程序包或Mountain Lion中不可见的〜/ Library文件夹。所以/ usr / bin / find没问题,对我而言,我仍然更喜欢EasyFind.app,因为它更易于使用。
凯德尔2013年


0

如果工作流的服务是由系统生成的,它将位于“ / System / Library / Services”中。

但是,如果您是从Automator自己添加的工作流(服务),它将位于“ / Users / [您的用户名] / Library / Services”中。


0

这是一个隐藏的文件夹:/Macintosh HD/Users/<username>/Library/Services。到达那里的最佳方法是在automator中创建一个新服务并保存并按照以下步骤操作,或者如果已经创建了一个服务,请按照以下步骤操作:

  • 打开系统偏好设置>键盘,然后单击快捷方式选项卡。
  • 查找您创建的服务
  • 右键单击该服务,然后在Finder中打开。

它将显示隐藏的文件夹。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.