You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Mac下.command脚本支持文件夹拖放作为输入路径?

实现拖放文件夹到脚本自动转换音乐文件

我来帮你搞定这个需求!其实不用Automator也能直接修改你的bash脚本实现拖放功能,当然如果你偏好用Automator做可视化的快速操作,我也会给你对应的步骤。

方法一:直接修改bash脚本支持拖放

这个方法最直接,只需要调整你的脚本,让它读取拖放过来的文件夹路径:

  1. 打开你的converter.command文件,替换成下面的代码:
#!/bin/bash

# 检查用户是否拖放了文件夹
if [ $# -eq 0 ]; then
    echo "⚠️ 请将目标文件夹拖放到这个脚本文件上!"
    read -p "按任意键退出..."
    exit 1
fi

# 获取拖放的第一个文件夹路径(如果拖放多个,这里可以改成循环处理所有)
srcDir="$1"

# 遍历文件夹内的指定格式文件,并且跳过不存在的匹配项
for i in "$srcDir"/*.{wav,aiff,aif}; do
    if [ -f "$i" ]; then
        ffmpeg -i "$i" "${i%.*}.flac"
        echo "✅ 已完成转换:$i -> ${i%.*}.flac"
    fi
done

echo "🎉 所有转换任务完成!"
read -p "按任意键退出..."
  1. 给脚本添加执行权限(如果还没加的话):
    打开终端,输入以下命令(把路径换成你的脚本实际路径):
chmod +x /path/to/your/converter.command
  1. 现在你只需要把目标文件夹直接拖到converter.command文件上,终端就会自动打开并执行转换啦!

方法二:用Automator创建快速操作

如果你希望在Finder右键菜单里直接调用转换功能,可以用Automator做一个快速操作:

  1. 打开「Automator」应用,选择创建「快速操作」(旧版系统可能叫「服务」)。
  2. 在左侧的动作库中搜索「运行Shell脚本」,把它拖到右侧的工作流程区域。
  3. 在顶部设置:
    • 「工作流程收到」选择「文件夹」
    • 「位于」选择「Finder」
  4. 把Shell设置为/bin/bash,「传递输入」选择「作为自变量」。
  5. 在脚本输入框中粘贴以下代码:
for srcDir in "$@"; do
    # 遍历当前文件夹内的指定格式文件
    for i in "$srcDir"/*.{wav,aiff,aif}; do
        if [ -f "$i" ]; then
            ffmpeg -i "$i" "${i%.*}.flac"
            echo "✅ 已完成转换:$i -> ${i%.*}.flac"
        fi
    done
done
  1. 保存这个快速操作,比如命名为「转换音乐为FLAC」。

现在你在Finder里右键任意文件夹,就能在「快速操作」菜单里找到这个选项,点击后就会自动执行转换啦!

注意事项

  • 确保你的系统已经安装了ffmpeg,如果没有的话,可以用Homebrew安装:
brew install ffmpeg

内容的提问来源于stack exchange,提问作者Léo Coco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:39:34