Я хочу избавиться от 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