如何访问当前选定的文件或文件夹的位置数据?

如何访问当前选定的文件或文件夹的位置数据?

我希望能够选择一个文件,使用快捷方式运行脚本,并且该脚本获取我选择(或拖动)的文件的路径。我在 nautilus 中选择了它。

我知道如何运行命令,只是不知道如何获取所选文件的位置。我假设这是可能的,因为如果我将文件拖放到终端,它会粘贴路径...


我用它来做什么?我有一个名为协同作用即通过本地网络,使用 1 个鼠标和 1 个键盘在多台计算机上运行。

您可以将其设置为让您的屏幕彼此相邻,如下所示:

但是(因为这是免费版本),我无法在它们之间拖放文件。因此,这个 Dock 设置在两个屏幕之间,当我拖动文件时,我可以将其放在那里 - 然后它会将其复制到第二台计算机上的相同路径(如果存在)或 misc 文件夹。

答案1

经过一番研究,我发现了你可能在寻找的东西。这可以使用.desktop文件来完成。让我演示一下。

在您的主目录中创建一个文件(作为示例),其扩展名.desktop包含以下内容:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=bash <path-to-your-script> %u
Name=visible name here
Comment=comment here
Icon=icon path here

替换<path-to-your-script>为要执行的脚本的路径。这%u是您将拖到 .desktop 文件上以触发脚本的文件路径。这显然将作为参数传递给您的脚本。

不要忘记.desktop 通过以下方式制作你的可执行文件:

chmod u+x test.desktop

要检查它是否正常工作,您可以将其指向此脚本:

#!/bin/sh

echo $1 > ~/out.txt

您将看到拖到存储在主目录中的 out.txt 中的 .desktop 文件中的文件的完整路径。

最后,您可以设置一个 Dock 来将它放置在其中,这样您就可以将它放置在屏幕的一侧。

参考:

桌面入门规格

Gnome 开发人员 - 桌面文件

答案2

对于那些不喜欢 dock 解决方案的人来说,可以简单地使用 Nautilus 环境变量NAUTILUS_SCRIPT_SELECTED_FILE_PATHS$@编写脚本,将其放在脚本文件夹因此它将出现在上下文菜单中。优点是您可以一次选择更多文件。要测试它:

#!/bin/bash
notify-send $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
exit 0

相关内容