在上一篇文章中,我只看到纯 Linux 路径和纯 Windows 路径在 wine 下运行 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
?
谢谢。
深入研究
winepath
,它有不同的配置选项。关于您提出的另一个我回答的相关问题,您可以使用
winepath
为给定的 Linux 路径方向查找与 Windows 兼容的路径。但是,
winepath
只有在传递特定参数时才真正有用,因为它接受的不同参数实际上告诉它你在寻找什么。winepath
接受一堆有用的参数,其中-u
最-w
有用的是这里。这是来自winepath
Wine 3.4 开发版的手册页:考虑到这些,我们可以
/tmp/test/0.pdf
进入一个有用的 Windows 路径。(虽然我/tmp/blah.txt
在我的例子中使用)将 Unix 路径转换为长 Windows 路径- 您在其他问题中必须执行的操作 - 然后您可以将其传递给 Windows 可执行文件,并且基于您的
winecfg
驱动器映射(运行需要几分钟):将 Windows 长路径转换为 Unix 文件路径- 与您需要做的相反,但如果您在 Wine
C:\
驱动器中安装了某些东西并且需要文件/可执行文件/文件夹/等的 Linux 文件路径,那么什么才是真正有用的。如果您需要在不知道它在磁盘上的位置的路径中编辑某些内容,这对您很有帮助,即通常在~/.wine/drive_c
等,因为您可能需要直接访问文件夹。对于下面的示例,它并不是真正有用的,因为我们已经知道本质上它Z:
已映射到/
您的系统上。但是,您可以通过下面的完整 Wine Linux路径从技术上访问该文件(这有效,因为~/.wine/dosdevices/z:
实际上只是/
您的设置中的一个符号链接,而我的):这似乎是“默认” - 它采用 Windows 路径并输出与现有 Wine 安装相关的 Windows 文件路径的 Linux 等效项。
所以,TL;DR:
因此,您的主要用例是:
获取 Unix 文件系统路径并获取有关 Wine Prefix 中 Drive 设置的 Windows 样式路径;这是您必须输入的内容才能获得您发布的其他问题的答案。(因为您不能在 Windows 可执行文件的参数中或在 Wine 打开的可执行文件的打开对话框中使用 Unix 路径,因为它们需要 Windows 样式的路径)
获取基于 Wine 的 Windows 路径并获取对应的 Linux 文件系统路径,以便您可以直接与标准 Linux 系统中的文件进行交互(因为您不能使用 Unix 中的 Windows 路径直接与 Ubuntu 操作系统中的文件进行交互) )