Formatando valores de registro com sintaxe de argumento não padrão para comandos do menu de contexto

0

Estou tentando adicionar uma entrada ao menu de contexto de fundo da pasta do Windows. O seguinte valor de "comando" funciona:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe"

Ele executa com sucesso o MakeManifest (uma pequena ferramenta de desenvolvimento na qual estou trabalhando em meu projeto de programação real).

No entanto, gostaria de fazer isso:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe" -root="%1"

Mas isso não funciona. Nem isso:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe" "-root=%1"

O que eu estou querendo é o programa MakeManifest.exe para executar e receber um argumento de linha de comando um no formato:

-root="the/directory/right-clicked/in/"

Eu quero que as aspas ao redor do caminho do diretório sejam passadas para MakeManifest preservado, e eu gostaria da coisa toda ( -root="o / directory / right-clicked / em /" ) para ser um argumento.

Se isso não acontecer, eu me contentaria com -root passado como um argumento, e o / directory / path (sem aspas, mas como um argumento) passado como o segundo argumento. Eu não posso começar a trabalhar.

Todas as minhas tentativas resultam nessa mensagem de erro:

" Este arquivo não tem um programa associado a ele para executar esta ação. Instale um programa ou, se já estiver instalado, crie uma associação no painel de controle Programas Padrão. "

... como se estivesse tentando identificar qual programa executar o comando inteiro como um caminho de arquivo.

Novamente, definir o comando sem argumentos funciona bem.

Como devo fazer isso?

    
por Jamin Grey 06.06.2013 / 20:40

1 resposta

1

Use %V em vez de %1 .

Para obter informações adicionais sobre variáveis de comando do shell, como% V e% 1, consulte esta questão .

    
por 06.06.2013 / 21:53