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 .
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?
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 .