如何通过 wine 应用程序打开名称中带有空格的文件?

如何通过 wine 应用程序打开名称中带有空格的文件?

我有.desktop一个类似 Wine 的应用程序文件,可以打开 MS Word:

[Desktop Entry]
Type=Application
Version=1.0
Icon=x-vmware-564d5302e9430a5d-1416be4d2596d246-Microsoft-Word-2010
Terminal=false
StartupNotify=false                                                                                                                                                       
NoDisplay=false                                                                                                                                                           
Name=Microsoft Word                                                                                                                                                       
StartupWMClass=Microsoft Word                                                                                                                                             
Exec=vmrun -T player -gu alx -gp 123 runProgramInGuest "/home/alx/vmware/office/windows-7.vmx" -activeWindow -interactive "c:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" Z:\lin%f
Comment=Run 'Microsoft Word 2010' in the virtual machine 'windows-7'
Name[en_US]=Word

它成功打开了文档,但名称中包含空格的文档除外,它显示无法找到此类文件的错误,并在路径中用替换空格%%20。是否可以以某种方式说:不要将%20文件名中的空格转换为?

答案1

好的,我已经整理好了。

为了正确打开 MS Word 文档(包括名称中带有空格的文件),我们需要做两件事:

  1. 创建一个 sh 包装器,它将使用正确的参数启动 WINWORD 应用程序:
#!/bin/sh

vmrun -T player -gu alx -gp 123 runProgramInGuest ./vmware/office/windows-7.vmx -activeWindow -interactive "c:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "$(echo "$@" |sed -e 's;C:;Z:;' -e 's:/*/:\\\\:g')"
  1. 修改文件中的 Exec 行.desktop以指向上面的包装器:
Exec=./bin/wordwrapper.sh Z:\\\lin%F

其中lin- Windows VM 内用于访问主机文件的共享文件夹,对于 Wine,应该只有Z:%F

相关内容