% 1 no registro não sendo expandido no Windows 8

0

Eu criei uma ferramenta que adiciona algumas coisas ao menu de contexto ao clicar com o botão direito do mouse em um diretório, dentro do 'espaço vazio' de um diretório ou de uma unidade. Eu usei isso extensivamente no Windows XP, Vista e 7, mas agora que eu atualizei para o Windows 8 estou tendo um problema com a obtenção do diretório que o comando foi iniciado a partir de.

Uma das coisas que eu adiciono é "Prompt de Comando Aqui", e eu consegui isso com o seguinte em um arquivo INF:

HKCR,Directory\Background\Shell\CommandPromptHere\command,,,"""%SystemRoot%\System32\cmd.exe"" /c cmd /s /k ""VER && PUSHD ""%1"""""

Isso adiciona o seguinte em uma chave REG_EXPAND_SZ:

"%SystemRoot%\System32\cmd.exe" /c cmd /s /k "VER && PUSHD "%1""

Como isso não estava funcionando (não foi possível encontrar cmd.exe), tentei substituí-lo por:

cmd /c cmd /s /k "VER && PUSHD "%1"

No Windows 7, Vista e XP, "% 1" é expandido para o diretório em que o plano de fundo foi clicado com o botão direito. No entanto, ele não está funcionando no Windows 8. Mesmo tentando ecoar de volta para a linha de comando não parece estar funcionando.

Eu posso obter "% cd%" para expandir quando eu uso "ECHO% cd%", mas não consigo usá-lo para iniciar o prompt de comando lá ("PUSHD% cd%" não está funcionando) .

Alguma coisa mudou com os argumentos no Windows 8? Existe algum outro motivo para não estar funcionando? Existe outra maneira de "Iniciar um prompt de comando no diretório atual" com uma entrada de registro? Estou faltando alguma coisa?

O código está aqui: link para mais detalhes ou sugestões.

    
por Ehryk 10.02.2013 / 05:02

1 resposta

0

Evidentemente, por qualquer motivo,% 1 não é preenchido ao usar os comandos / Background / no Windows 8 como no Windows 7.

Eu me envolvi usando:

cmd /c cmd /s /k "VER && @cd "%%%CD%%%"

Qualquer ideia de por que isso mudou é muito bem-vinda.

    
por 10.02.2013 / 10:30