我正在寻找一个文件管理器脚本以在 Caja 中使用(我在标题中使用了“Nautilus 脚本”,以便人们了解我想要完成的工作),它将所选存档(或多个存档)提取到当前位置. 最好我想指定 Engrampa 来进行提取,但是 File-Roller,甚至是一个命令都可以(尽管我更喜欢弹出进度对话框,就像我通过“在此处提取”提取它们时一样) .
现在,您可能想知道为什么当 Caja 在上下文菜单中有“在此处提取”选项时我想要一个脚本,就像 Nautilus 一样。原因是我在为我在 Caja 中使用的脚本分配键盘快捷键方面取得了巨大成功,所以我的目标是能够使用 Alt+X 之类的组合键提取选定的存档。
我在脚本方面的专业知识非常有限,但设法做了一些基本但非常有用的事情,如下所示,在 Gimp 中打开选定的图像,我已将组合 Alt+I 分配给:
#!/bin/bash
if mimetype -b "$1" | grep image; then
gimp "$1"
fi
我已经将相同的方法用于其他一些效果很好的事情,例如使用图像查看器打开文件夹,但尝试创建一个脚本来提取选定的存档(特别是 RAR,因为这是我最常下载的) Engrampa ( engrampa -h ) 到当前文件夹,甚至只是 Unrar 命令 ( unrar e ),没有任何反应。我认为mimetype 指定正确,我已经尝试使用engrampa减去-h选项来查看 Engrampa 是否弹出(我所有的工作脚本在命令后都没有选项),但根本没有任何反应。所以,很明显我对下面的脚本做错了:
#!/bin/bash
if mimetype -b "$1" | grep application/x-rar-compressed; then
engrampa -h "$1"
fi
所以我呼吁您的专业知识来解决这个问题。虽然这并不重要,因为我可以通过右键单击来完成,但如果能实现这一点会很棒,所以我可以为它分配一个组合键。我很乐意使用仅用于 RAR 文件的脚本,尽管可以提取任何类型的存档的脚本当然是最受欢迎的。虽然我更喜欢GUI 应用程序来执行此操作,因此我可以看到进度,但这并不重要。提前非常感谢,大家注意安全!
PS:我使用的是 Ubuntu 20.04,以防万一。一周前我切换到 Caja,因为 Nautilus 开发人员不断删除功能。
非常感谢 Michal 用 Caja 变量为我指明了正确的方向!起初这似乎不起作用,然后我删除了该行:
...它按预期工作,带有可视进度指示器,它可以解压缩多个选定的档案。所以脚本代码是:
我已将Alt+X(用于 eXtract)设置为快捷方式/加速器,一切都很完美!
更新:我确实遇到了一个异常情况,即当尝试提取包含文件夹而不是文件的存档时,它会抛出“不支持存档类型”错误消息,因此不会提取存档(我做到了在包含文件夹的多个存档上尝试此操作)。然而,过了一段时间,它变得很好(主要是- 见下文),所以虽然我不明白这些档案与包含单个文件的档案如何以及为什么被区别对待,以及它是如何自我纠正的,但我没有抱怨!
(编辑:我遇到了几个 RAR 档案,其中包含一个仍然失败的文件夹,它们没有损坏或任何东西 - 它们通过右键单击 > 提取在这里很好地提取 - 所以虽然这仍然令人困惑,而且有点烦人,对于偶尔的存档,我可以忍受这样做)。
所以我想我会为任何想要使用该脚本的人分享该信息,该脚本适用于任何格式的档案(Engrampa 支持)、多个选定的档案以及多部分档案。
您可以
caja-actions
为此使用 GUI。先安装
apt install caja-actions
再打开。在“项目列表”下添加新命令“提取档案”。
在“命令”选项卡中添加:
节省。
要了解“%F”和“%d”的含义,请单击“参数”字段右侧的“图例”按钮。
7z
在“Mimetypes”选项卡中,以“application/zip”或“application/gzip”格式(不带引号)添加您想要操作的所有类型。