【问题标题】:Automator Finder Service keeps on running, should run only onceAutomator Finder 服务继续运行,应该只运行一次
【发布时间】:2012-06-23 13:57:09
【问题描述】:

我使用 automator 创建了一个简单的服务,它需要一个 *.tiff,从中创建一个 *.jpg,然后删除原始文件。

但是,我在 *.tiff 文件上运行它,它会继续运行,这意味着它会一遍又一遍地转换(然后是 jpg)文件。也就是说,我相信确实如此,因为文件消失并重新出现大约每分钟 2 次,并且时间戳发生变化。我如何告诉它只运行一次服务(即 shell 命令)?

Automator 中的服务就是“运行 Shell-Script”类型的一个动作。 Shell 脚本是

newName=${@%.tiff}.jpg
echo "$newName"
sips -s format jpeg "$@" --out "${newName}"
rm "$@"

谢谢! (会张贴 Automator 窗口的图片,但不允许)

【问题讨论】:

    标签: finder automator


    【解决方案1】:

    此行为似乎是文件夹操作
    如果您创建了文件夹操作:
    1- 您必须过滤 TIFF 文件,因为该文件夹操作不处理创建的 JPEG 文件。
    2- 如果您将一个或多个文件放在该文件夹中,则必须使用循环。
    3- 仅当 sips 命令成功完成时,使用“&&”删除 TIFF 文件。

    这是脚本:

    for f in "$@";do
        if [[ "$f" = *.tiff ]]; then
            sips -s format jpeg "$f" --out "${f%.tiff}.jpg" && rm "$f"
        fi
    done
    

    【讨论】:

    • 我没有创建文件夹操作。我使用了自动机的“新建”向导并选择了“服务”。它在窗口标题中显示服务,我通过右键单击服务下的上下文菜单中的文件来启动服务。所以我很确定这是一项服务 :) 另外,这也是我想要的,我可以在特定文件上调用一次的服务。
    • 好的,这是另一个问题。如果在脚本中添加echo "$newName" >> ~/Desktop/ShellConvertTiffToJPEG_Logs.txt这一行,是不是“ShellConvertTiffToJPEG_Logs.txt”文件在你只启动一次服务后就包含了几行?
    • 我不知道为什么,但显然打开并重新保存就可以了。我按照你说的做了,它停止重复服务。所以我再次删除了这条线,瞧,从那时起,它只运行了一次。猜猜它是被骗了还是挂了……谢谢:)
    猜你喜欢
    • 2013-01-11
    • 2022-01-05
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 2021-05-01
    • 2015-02-14
    相关资源
    最近更新 更多