Как я могу открыть файлы с пробелами на их имена с помощью винного приложения?

Я имею .desktop файл для подобного вину приложения, которое открывает 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. Это возможный так или иначе сказать: dono't преобразовывают пробелы в %20 в именах файлов?

1
задан 3 January 2019 в 23:10

1 ответ

Хорошо, я уладил его.

Для корректного открытия документов MS Word включая файлы с пробелами на их имена мы должны сделать 2 вещи:

  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. Изменяют Исполнительную строку в .desktop файл для указания на обертку выше:
Exec=./bin/wordwrapper.sh Z:\\\lin%F

, Где lin - совместно используемая папка в окнах VM для доступа к файлам хост-машины, в случае Вина, должны быть только Z:%F

1
ответ дан 7 December 2019 в 16:11

Другие вопросы по тегам:

Похожие вопросы: