Como associar uma extensão de arquivo a ser aberta com um script em lote?

0

Eu quero me livrar do OSPPSVC (Serviço de Plataforma de Proteção de Software do Office).

Depois, substituí os links para abrir programas do Office com um link para 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

E eu posso abrir arquivos se, no console, eu entrar:

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

Mas, como quero a integração do explorer, tentei associar a extensão .docx a ser aberta com

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

Mas isso não funciona: o arquivo de lote é executado, mas não abre o Word (ele pergunta "Introduce the program to open:").

Editar : código fixo:

@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
    
por Oriol 02.02.2014 / 22:09

1 resposta

0

Na verdade, parece que você precisa especificar em qual pasta% target% está, a menos que de alguma forma o caminho do Office esteja em% PATH%.

    
por 03.02.2014 / 18:22