何时使用基于 wine 的 Linux 路径?

何时使用基于 wine 的 Linux 路径?

在之前的文章中,我只看到在 wine 下运行 Windows 可执行文件时使用纯 Linux 路径和纯 Windows 路径。

何时使用基于 wine 的 Linux 路径/home/t/.wine/dosdevices/z:/tmp/test/O.pdf

winepath将纯 Linux 路径转换为基于 wine 的 Linux 路径。例如,

$ echo "$(winepath /tmp/test/O.pdf)"
/home/t/.wine/dosdevices/z:/tmp/test/O.pdf

什么时候使用的输出winepath

谢谢。

答案1

深入研究winepath,有不同的配置选项为了它。

关于您问的另一个相关问题我回答过,您可以使用它winepath来查找给定 Linux 路径方向的 Windows 兼容路径。

然而,winepath只有在传递特定参数时才真正有用,因为它接受的不同参数实际上告诉它您正在寻找什么。

winepath接受一堆有用的参数,其中-u-w在这里最有用。这是winepathWine 3.4 开发版的手册页:

OPTIONS
       -u, --unix
              converts a Windows path to a Unix path.

       -w, --windows
              converts a Unix path to a long Windows path.

考虑到这些,我们可以找到/tmp/test/0.pdf一个有用的 Windows 路径。(虽然我/tmp/blah.txt在我的例子中使用了它)

将 Unix 路径转换为长 Windows 路径- 您在另一个问题中必须做什么 - 然后您可以将其传递给 Windows 可执行文件,并且基于您的winecfg驱动器映射(运行需要几分钟):

$ winepath -w /tmp/blah.txt
Z:\tmp\blah.txt

将 Windows 长路径转换为 ​​Unix 文件路径- 与您需要执行的操作相反,但如果您在 WineC:\驱动器中安装了某些东西,并且需要将 Linux 文件路径指向文件/可执行文件/文件夹/等,这实际上很有用。如果您需要编辑某个路径中的某些内容,而您不知道它在磁盘上的位置,即通常在~/.wine/drive_c等中,这会对您有所帮助,因为您可能需要直接访问文件夹。对于下面的示例,它并不是很有用,因为我们已经从本质上知道它Z:映射到/您的系统上。但是,从技术上讲,您可以通过完整的 Wine 访问该文件Linux下面的路径(有效,因为它实际上只是您和我的设置中的~/.wine/dosdevices/z:符号链接):/

$ winepath -u 'Z:\tmp\test\0.pdf'
/home/teward/.wine/dosdevices/z:/tmp/test/0.pdf

这似乎是“默认”——它采用 Windows 路径并根据现有的 Wine 安装输出与 Windows 文件路径等效的 Linux 路径。


因此,TL;DR:

因此,您的主要用例是:

  • 要获取 Unix 文件系统路径并根据 Wine Prefix 中的驱动器设置获取 Windows 样式的路径;这是您必须输入的内容才能在您发布的另一个问题中获得答案。(因为您不能在 Windows 可执行文件的参数中使用 Unix 路径,也不能在 Wine 打开的可执行文件的打开对话框中使用,因为这些都需要 Windows 样式的路径)

  • 获取基于 Wine 的 Windows 路径并获取相应的 Linux 文件系统路径,以便您可以直接与标准 Linux 系统中的文件交互(因为您不能在 Unix 中使用 Windows 路径直接与 Ubuntu 操作系统中的文件交互)

相关内容