Estou tentando adicionar uma entrada ao menu de contexto de plano 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 para meu projeto de programação real).
No entanto, eu 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 pretendo é o programa MakeManifest.exe para executar e receberumargumento de linha de comando do formato:
-root="the/directory/right-clicked/in/"
Quero que as aspas ao redor do caminho do diretório sejam passadas para o MakeManifest preservadas e gostaria que tudo (-root = "o/diretório/clicado com o botão direito/em/") para ser um argumento.
Se isso falhar, eu me contentaria com-raizpassado como um argumento, eo/diretório/caminho(sem aspas, mas como um argumento) passado como segundo argumento. Também não consigo trabalhar.
Todas as minhas tentativas resultam nesta mensagem de erro:
"Este arquivo não possui um programa associado para executar esta ação. Instale um programa ou, se já estiver instalado, crie uma associação no painel de controle de Programas Padrão."
... como se estivesse tentando identificar qual programa executar todo o comando como caminho de arquivo.
Novamente, definir o comando sem argumentos funciona bem.
Como devo fazer isso?
Responder1
Use %V
em vez de %1
.
Para obter informações adicionais sobre variáveis de comando shell como %V e %1, consulteessa questão.