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

求助:Automator制作的App无法将含空格文件夹通过mysides添加到Mac侧边栏

解决Automator App中mysides处理带空格路径的问题

问题出在变量未加引号导致参数被空格拆分,以及URL编码不完整这两个点上,以下是修复方案:

问题分析

  1. 原代码中basename $f、$s、file://$f都没有用双引号包裹,当路径含空格时,bash会把空格后的内容当成独立参数传递给mysides,导致工具识别错误。
  2. 仅用sed替换空格为%20不够全面,macOS路径中可能包含中文、特殊符号等其他需要URL编码的字符,且正确的file URL格式需要确保路径前是file:///(三个斜杠)。

修正代码

用系统自带的Python完成标准URL编码,同时给所有变量加上双引号:

for f in "$@"
do
    s="$(basename -- "$f")"
    # 用Python进行标准URL编码,生成正确的file://路径
    encoded_path=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$f'))")
    /usr/local/bin/mysides add "$s" "file:///$encoded_path"
done

关键改动说明

  • 所有变量引用都加上双引号("$f"、"$s"、"file:///$encoded_path"),避免空格拆分参数。
  • 使用Python的urllib.parse.quote进行标准URL编码,能处理所有需要转义的字符(空格、中文、特殊符号等),比sed替换更可靠。
  • file URL格式改为file:///(三个斜杠),这是本地文件路径的标准URL格式。

内容的提问来源于stack exchange,提问作者Ghost_Hunter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:35:36