【问题标题】:calculate Shasum for multiple files in Mac automator在 Mac automator 中计算多个文件的 Shasum
【发布时间】:2021-07-28 23:59:00
【问题描述】:

我正在尝试对多个文件运行 shasum 并将输出复制到剪贴板。

在终端中计算多个文件的校验和很简单。

shasum /Volumes/EOS_DIGITAL/DCIM/100CANON/A99A0708.MP4 /Volumes/EOS_DIGITAL/DCIM/100CANON/A99A0710.MP4 /Volumes/EOS_DIGITAL/DCIM/100CANON/A99A0711.MP4 /Volumes/EOS_DIGITAL/DCIM/100CANON/A99A0712 .MP4 /Volumes/EOS_DIGITAL/DCIM/100CANON/A99A0713.MP4 /Volumes/EOS_DIGITAL/DCIM/100CANON/A99A0714.MP4 /Volumes/EOS_DIGITAL/DCIM/100CANON/A99A0715.MP4

输出是单独一行中每个文件的校验和/路径

在自动机中 运行外壳脚本 shasum /Volumes/EOS_DIGITAL/DCIM/card2/A99A0686.MP4 输出校验和和路径 然后复制到剪贴板就可以了。

当我尝试在自动化工作流程中拖动多个文件时,我得到 “运行 Shell 脚本”遇到错误 :zsh:2: exec format error:/path zsh:3: exec format error:/path zsh:4: exec format error:/path .... 重复我尝试拖入工作流程的文件数。

当工作流保存为应用程序时,它会输出一个与任何文件都不匹配的校验和。

有没有办法让应用程序输出每个文件的校验和并将所有结果复制到剪贴板,以便我可以将它们作为一个组粘贴到电子表格中。

【问题讨论】:

    标签: macos terminal checksum automator


    【解决方案1】:

    在您的 Run Shell Script 操作中,将“传递输入:”下拉菜单设置为“作为参数”,然后使用以下代码:

    for f in "$@"
    do
        shasum "$f"
    done
    

    【讨论】:

    • 有什么理由可以在 Mojave 中使用,但在 Catalina 中却不一致。在 Catalina 中,当我删除 10 个文件的选择时,它只给出第二个文件的校验和,但如果我只选择文件 3-10 它工作正常。
    • @dano:我在 Big Sur,所以我无法测试 Mojave 或 Catalina。在我的系统上,它适用于每个试用版(我尝试了 1 个文件、3 个、7 个、10 个、11 个,整个文件夹 28 个,以及两个文件夹中的 54 个文件)。我的猜测是 shasum 在第三个文件上抛出了一个错误,但这只是一个猜测。尝试使用不同的文件集来确认或反驳。
    • 奇怪的是,它可以作为文件夹操作或快速操作正常工作,而作为应用程序,它可以处理一堆不同的文件集。似乎该特定文件集存在问题。感谢您的帮助。
    猜你喜欢
    • 2014-07-28
    • 2017-06-02
    • 2015-03-26
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    相关资源
    最近更新 更多