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

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

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: insira a descrição da imagem aqui

"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 %Vem vez de %1.

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

informação relacionada