Я хочу избавиться от OSPPSVC (Служба платформы защиты программного обеспечения Office).

Затем я заменил ссылки для открытия программ Office ссылкой на launcher.bat:

@echo off
title Launching Office...
Set target=%1

sc config osppsvc start= demand
net start osppsvc

:check
if exist "%target%.exe" goto launch
Set/p target="Introduce the program to open:"
goto check

:launch
start %target%.exe %2

sleep 10

sc config osppsvc start= disabled
net stop osppsvc

И я могу открыть файлы, если в консоли введите:

"C:\Path\To\Office14\launcher.bat" winword "C:\Path\To\File\doc.docx"

Но, поскольку я хочу интеграции с проводником, я попытался связать расширение .docx с

"C:\Path\To\Office14\launcher.bat" winword "%1"

Но это не работает: командный файл запускается, но не открывает Word (он запрашивает «Введите программу для открытия:»).


Редактировать: Фиксированный код:

@echo off
title Launching Office...
Set name=%1

sc config osppsvc start= demand
net start osppsvc

:check
Set target="%~dp0%name%.exe"
if exist %target% goto launch
Set/p name="Introduce the program to open:"
goto check

:launch
start "" %target% %2

sleep 10

sc config osppsvc start= disabled
net stop osppsvc

1 ответ1

0

На самом деле кажется, что вам нужно указать, в какой папке находится% target%, если только путь Office не находится в вашем% PATH%.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .