我正在寻找一个类似Automator
但A Better Finder Rename
更广泛/更先进的程序。
在我的例子中,我们有两个同名的文件,一个是 ,MOV
另一个是XML
。我们想使用 XML 中的某些元数据来重命名这两个文件。然后,我们想重新排列 XML 文件的内容,以便它与我们使用的另一个软件兼容(我认为这个过程称为映射?)
本质上,一些软件从现有文件中获取一堆变量并对其执行文件操作。
我想这将是使用 apple-script 的简单任务,但我想知道是否有类似的 OSX 应用程序Automator
可以完成上述任务?
问题是:
- 是否有软件可以实现上述功能?
- Automator 能实现这个吗?
- 这种过程的技术名称是什么?
- 如果没有这样的软件,那么最好使用哪种脚本?例如,制作 Apple 脚本、python 脚本等。
答案1
- 当然,有些软件可以完成上述各种操作,但据我所知,没有一款基于 GUI 的软件可以让你根据任意结构的 XML 文档的内容对文件进行任意操作。这意味着你需要将一些功能拼凑在一起,这本质上就是“脚本”。
- Automator 是一个图形化脚本环境。Automator 本身就是通过输入和输出将各种操作连接在一起的“粘合剂”。Automator 的实际功能依赖于可插入的“操作”。Automator 操作几乎可以做任何事情(甚至运行命令行 shell 脚本),所以是的,您几乎肯定可以使用 Automator 将您需要的各种组件串联在一起。我无法预测这是否比以不太直观的方式编写脚本更容易。我是一名专业程序员,我发现 Automator 界面很难理解。尽管如此,我已经成功地使用它做了一些本来很难的事情,因为我为某些部分找到了很好的 Automator 操作
- 我认为你所描述的内容太过习惯,不能被称为比“脚本”更具体的内容。
- 有或没有 Automator 都可以实现这一点。我将在下面讨论这两种方法。
对于涉及 Automator 的东西,你可以考虑这些 Automator 操作。不幸的是,似乎没有任何预先构建的二进制文件,这意味着您可能必须从头开始构建源代码,这可能会有足够高的进入门槛,从而阻止您使用 Automator 方法。
即使您拥有这些工具,它们基本上也只是让您使用基于 XML 的脚本和查询语言(如 XQuery、XPath 和 XSLT)的组件。这些语言非常适合从 XML 文档中提取信息或将其转换为其他 XML 文档,但它们都相当全面,并且有自己的学习曲线。对于高度结构化的 XML 文档(而不是像 HTML 那样面向文档),XQuery 非常适合提取和转换;XSLT 可能更适合重新排列类似文档的内容。您可以通过阅读一些示例代码来了解基本的 XQuery,如果您的 XML 文档足够简单,您可能不需要任何高级功能。
如果你想跳过 Automator 操作(这可能会更容易——少学习一个工具),你可以看看XQilla 命令行程序,它将允许您从终端运行 XQuery。
如果您放弃 Automator,您将需要一种脚本语言来将所有部分(XML 查询、XML 转换和文件重命名)结合在一起。您提到了 Python,这将是一个不错的选择,因为它是一种简洁易读的语言,您可以通过示例学习,入门门槛相对较低。它可能有很好的 XML 库,可以让您执行 XML 查询和转换,而无需调用外部命令行程序,尽管我从未使用 Python 进行过这些操作,也不熟悉这些工具。
除非你知道有 Mac 程序可以处理 XML,否则我会避免使用 AppleScript。它的优势在于能够与 Mac 应用程序对话并让它们完成繁重的工作;它的内置功能有限,虽然读起来像英语,但这实际上并没有让它更容易编写。它实际上相当不直观,至少对我来说是这样。