【问题标题】:Drag file onto program icon for processing?将文件拖到程序图标上进行处理?
【发布时间】:2018-06-02 01:41:18
【问题描述】:

理想场景:

  1. 用户将一组 SVG 拖到程序图标上;
  2. 程序会检查以确保所有提交的文件确实是 SVG;
  3. 程序检查本地安装的 SVGO;和
  4. 程序使用 YAML 配置脚本和以下命令处理带有 SVGO 的文件:svgo -f ./ -o ./optimized --config=./svgo.yml

我正在使用 SVGO 进行 SVG 优化和压缩。它可以安装在项目的全局或本地。

关于拖放片段,我应该从哪里开始?我对 JavaScript 比对 AppleScript 更熟悉,并且一直在寻找可以处理该任务的 Node/JS + AppleScript 实现。

【问题讨论】:

  • 也许您可以使用Automator 创建您的包装应用程序。我不知道它是否有一个“接收删除的文件”动作,但它确实有一个可以将文件作为参数传递的“运行 shell 脚本”动作,而且 Automator 确实支持创建一个独立的应用程序。

标签: javascript macos applescript


【解决方案1】:

在 AppleScript 编辑器中,只需使用“打开时”处理程序:

 on open myItems
   repeat with one_item in myItems
     -- do what you need to do here for each file

   end repeat
 end open

将您的脚本保存为应用程序(另存为选项)。放置在脚本/应用程序图标上的每个文件或文件列表都将作为“one_item”处理。

【讨论】:

    【解决方案2】:

    如果您使用“程序”指的是要进行处理的 AppleScript 应用程序,请查看:Processing Dropped Files and Folders

    这是页面顶部的裁剪屏幕截图:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多