Comando personalizado no menu do botão direito do mouse não funciona

2

Eu adicionei, através do registro, uma opção de menu do botão direito para todos os tipos de arquivos que devem obter a soma de verificação MD5 para um arquivo.

HKEY_CLASSES_ROOT*\shell\Checksum - Default: Get Checksum

e

HKEY_CLASSES_ROOT*\shell\Checksum\command - Default: checksum.cmd "%1"

checksum.cmd simplesmente limpa a tela, chama fciv.exe usando% 1 e depois pausa.

Infelizmente, enquanto a opção "Obter Checksum" aparece corretamente no menu do botão direito, ela não executa a ação correta quando clicada. Quando clico nele, abre-se uma caixa de diálogo "Abrir com", o que obviamente não é o que eu quero.

Tanto o checksum.cmd quanto o fciv.exe estão no PATH.

checksum.cmd:

@echo off
cls
fciv.exe %1
pause

Alguém sabe o que está acontecendo?

    
por Luke 31.08.2012 / 11:47

1 resposta

1

Para executar o arquivo .cmd, é necessário invocar o shell de comando do Windows e informá-lo para interpretar o script. Para configurar isso no registro, altere os dados para o valor (Padrão) da chave de comando para cmd.exe , conforme mostrado:

HKEY_CLASSES_ROOT\*\shell\Checksum\command - Default: cmd.exe /C checsum.cmd "%1"

BTW, você poderia substituir o comando pause no seu script por algo que esperaria automaticamente por um período de tempo especificado - tempo suficiente para você ler a saída - antes de continuar e fazer outras coisas ou permitir janela para desaparecer. Por exemplo, para pausar por 5 segundos, você poderia usar:

ping 1.0.0.0 -n 1 -w 5000 >nul

O valor após o argumento -w fornece a quantidade de tempo em milissegundos a aguardar.

    
por 31.08.2012 / 17:30