显示特定文件扩展名的特定快速操作
Show specific Quick Action for specific file extension
我是 Applescript 和 Automator 的新手。例如,我正在尝试构建一个快速操作,它能够根据文件类型提出不同的功能。
如果文件是 test.sh 快速操作将是 a 和 b
如果文件是 document.pdf 动作将是 c 和 d
我成功创建了我的动作,但没有使它们特定于文件类型。我不知道从哪里开始,因为我看不到任何使输入成为条件的可能性,例如如果 input = .sh 执行 a 和 b。
任何关于如何进行的帮助将不胜感激。
谢谢,
查看 QuickAction 的图像后,除了选定的 PDF [=21] =]Finder.
中的文档
第一个 action 应该是 Set Value of Variable action 所以它 contents 可以使用 Get Value of Variable 多次检索,但是 Filter Finder Items actions 需要处理不同的 文件类型 ,然后是每个 文件类型 [=] 的适当 actions 42=].
您还可以使用 忽略此操作的输入 复选框 在 选项 下 action 将其从上一组 actions.
中分离出来
下图显示了我所指内容的粗略示例:
快速操作是特定于类型的,因此一般来说,最佳做法是为每种文件类型编写一个快速操作。这些快速操作只会在选择该类型的文件时出现在 Finder 中。
在许多情况下,您可以在 Automator 中创建或编辑快速操作时指定文件类型。例如,要创建仅在选择 PDF 文件时出现的快速操作,请将工作流顶部的下拉菜单设置为 "Workflow receives current PDF files in Finder":
然后完成并保存快速操作。
如果您想更精细地控制“快速操作”'sees' 的文件类型,您可以编辑其 info.plist 文件并更改其文件类型。保存快速操作后,导航至 Finder 中的 ~/Library/Services(即主文件夹的 Library 文件夹中的 Services 文件夹)。找到带有快速操作名称的包(例如,"Open in Preview"),按住 Control 键并单击它以获取上下文菜单,选择“显示包内容”,然后打开“内容”文件夹。您会看到以下内容:
在纯文本编辑器中打开 info.plist 文件——我更喜欢 BBEdit,但如果你确保 'rich text' 已关闭,TextEdit 将正常工作——并查找 NSSendFileTypes
键。它将类似于以下内容:
<key>NSSendFileTypes</key>
<array>
<string>com.adobe.pdf</string>
</array>
com.adobe.pdf
是统一类型标识符 (UTI),您可以在任何系统识别的 UTI 中添加或替换。这是 system-declared UTIs 的列表,但应用程序可以声明自己的 UTI 并向系统注册它们,因此此列表不一定详尽无遗。例如,如果您希望快速操作将 PDF 和图像文件都发送到预览,您可以在系统声明的 UTI 页面上搜索并找到图像的基本 UTI 是 public.image
,然后编辑 info.plist 阅读:
<key>NSSendFileTypes</key>
<array>
<string>com.adobe.pdf</string>
<string>public.image</string>
</array>
保存此选项,现在只要您选择 PDF 或 图像,就会出现快速操作。请注意,如果您手动编辑 info.plist 文件,如果您在 Automator 中编辑并保存快速操作,它可能会被覆盖。
Finder 中只会显示前两个相关的快速操作window;任何额外内容都将折叠在 more
按钮下。要更改顺序以便您最常用的快速操作排在最前面,请打开系统偏好设置,单击扩展项目,打开 Finder 部分,然后将右侧列表中的项目拖动到您喜欢的顺序。
我是 Applescript 和 Automator 的新手。例如,我正在尝试构建一个快速操作,它能够根据文件类型提出不同的功能。 如果文件是 test.sh 快速操作将是 a 和 b 如果文件是 document.pdf 动作将是 c 和 d
我成功创建了我的动作,但没有使它们特定于文件类型。我不知道从哪里开始,因为我看不到任何使输入成为条件的可能性,例如如果 input = .sh 执行 a 和 b。
任何关于如何进行的帮助将不胜感激。
谢谢,
查看 QuickAction 的图像后,除了选定的 PDF [=21] =]Finder.
中的文档第一个 action 应该是 Set Value of Variable action 所以它 contents 可以使用 Get Value of Variable 多次检索,但是 Filter Finder Items actions 需要处理不同的 文件类型 ,然后是每个 文件类型 [=] 的适当 actions 42=].
您还可以使用 忽略此操作的输入 复选框 在 选项 下 action 将其从上一组 actions.
中分离出来下图显示了我所指内容的粗略示例:
快速操作是特定于类型的,因此一般来说,最佳做法是为每种文件类型编写一个快速操作。这些快速操作只会在选择该类型的文件时出现在 Finder 中。
在许多情况下,您可以在 Automator 中创建或编辑快速操作时指定文件类型。例如,要创建仅在选择 PDF 文件时出现的快速操作,请将工作流顶部的下拉菜单设置为 "Workflow receives current PDF files in Finder":
然后完成并保存快速操作。
如果您想更精细地控制“快速操作”'sees' 的文件类型,您可以编辑其 info.plist 文件并更改其文件类型。保存快速操作后,导航至 Finder 中的 ~/Library/Services(即主文件夹的 Library 文件夹中的 Services 文件夹)。找到带有快速操作名称的包(例如,"Open in Preview"),按住 Control 键并单击它以获取上下文菜单,选择“显示包内容”,然后打开“内容”文件夹。您会看到以下内容:
在纯文本编辑器中打开 info.plist 文件——我更喜欢 BBEdit,但如果你确保 'rich text' 已关闭,TextEdit 将正常工作——并查找 NSSendFileTypes
键。它将类似于以下内容:
<key>NSSendFileTypes</key>
<array>
<string>com.adobe.pdf</string>
</array>
com.adobe.pdf
是统一类型标识符 (UTI),您可以在任何系统识别的 UTI 中添加或替换。这是 system-declared UTIs 的列表,但应用程序可以声明自己的 UTI 并向系统注册它们,因此此列表不一定详尽无遗。例如,如果您希望快速操作将 PDF 和图像文件都发送到预览,您可以在系统声明的 UTI 页面上搜索并找到图像的基本 UTI 是 public.image
,然后编辑 info.plist 阅读:
<key>NSSendFileTypes</key>
<array>
<string>com.adobe.pdf</string>
<string>public.image</string>
</array>
保存此选项,现在只要您选择 PDF 或 图像,就会出现快速操作。请注意,如果您手动编辑 info.plist 文件,如果您在 Automator 中编辑并保存快速操作,它可能会被覆盖。
Finder 中只会显示前两个相关的快速操作window;任何额外内容都将折叠在 more
按钮下。要更改顺序以便您最常用的快速操作排在最前面,请打开系统偏好设置,单击扩展项目,打开 Finder 部分,然后将右侧列表中的项目拖动到您喜欢的顺序。