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

KDE Dolphin自定义目录右键菜单处理含空格目录路径的问题

KDE Dolphin自定义目录右键菜单处理含空格目录路径的问题

我之前也碰到过一模一样的问题!这本质是bash -c处理参数时的引号逻辑导致的——你原来的写法里,%F展开后带空格的路径会被bash当成多个参数拆分,根本没法正确识别成单个目录。给你两个靠谱的解决办法:

方法一:用bash位置参数传递(推荐)

直接修改.desktop文件里的Exec行,改成下面这样:

Exec=konsole --noclose -e bash -c '/sc/dirs_merge.py -s "$@"' _ %F

为什么这样管用?

  • _是给bash -c的$0(脚本名占位符)用的,必须加上,否则第一个目录路径会被当成$0而非实际参数;
  • %F会把你选中的每个目录路径作为单独的参数传递给bash;
  • "$@"会完整保留每个路径的原始格式(包括空格、特殊字符),不会被bash拆分,完美传递给你的Python脚本。

方法二:转义引号包裹参数

如果你不想用位置参数,也可以把%F用双引号括起来,同时在.desktop里转义引号:

Exec=konsole --noclose -e bash -c '/sc/dirs_merge.py -s "%F"'

不过这个方法有个小局限:当你选中多个目录时,%F会把所有路径用空格连起来变成一个字符串,你的脚本需要自己去拆分这个字符串(还要处理里面的空格),不如方法一直接把每个目录作为单独参数传递来得省心。

最后记得保存.desktop文件,然后重启Dolphin或者执行kbuildsycoca5命令刷新KDE的服务缓存,这样新的动作就能生效啦!

备注:内容来源于stack exchange,提问作者Amarabottiglia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 14:58:12