Arquivo em lote no menu do botão direito

1

Eu estou fazendo um arquivo em lotes que vai criptografar as informações. Eu fiz isso quando eu clique com o botão direito no objeto e clique no botão "teste", ele executa o arquivo de lote.

Em regedit eu adicionei

Computer\HKEY_CLASSES_ROOT\*\shell\Test\command

os dados do comando são

C:\Users\%username%\Desktop\encrypt.bat

O que eu preciso fazer com os dados (na chave do registro que eu adicionei) e o que é armazenado como na minha variável?

    
por Jake Inc. 01.06.2012 / 23:51

1 resposta

1

Você precisa associar ao tipo de arquivo o script que deseja lançar nesse tipo. No Windows, tudo isso é baseado na extensão (pelo menos no XP, eu não sei sobre 7, mas duvido que tenha mudado). Digamos que a extensão de seus arquivos seja ".abc" e seu aplicativo é:

c:\program files\dummy\process.bat

(eu deixei cair a variável no momento, não tenho certeza de como isso se comporta nos arquivos .reg)

Portanto, basta editar um arquivo de texto config.reg que conterá o seguinte:

Windows Registry Editor Version 5.00

; the extension .abc gets associated with a file type
[HKEY_CLASSES_ROOT\.abc]
@="abc-file"

; the file-type gets a name (that appears in explorer in field "type")
[HKEY_CLASSES_ROOT\abc-file]
@="foo file"

; What will appear in the contextual menu when selecting an .abc file
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1]
@="--- Process ! ----"

; What to do with it
; here, %1 is the file given as argument of the script
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1\command]
@="\"c:\program files\dummy\process.bat\" \"%1\""

Finalmente importe-o. Você está feito.

Comentários adicionais:

  • Todas as aspas e barras invertidas estranhas estão lá para permitir o tratamento correto de nomes com espaços. Sim, eu agora, ninguém tem espaços em nomes de arquivos .. Ou eles? De qualquer forma, isso acontece!
  • Você pode ter vários comandos para um tipo de arquivo. Apenas engane as duas últimas chaves do .reg (cmdname-1 == > cmdname-2)
  • Você também pode associar diferentes extensões de arquivo ao mesmo tipo de arquivo. por exemplo, arquivos HTML podem ter .htm ou .html
  • Você pode até associar uma ação a pastas. substitua o tipo de arquivo por "pasta"
  • Pode ser útil fornecer uma funcionalidade de "desinstalação". Basta criar outro arquivo reg e prefixar as chaves criadas com '-'.
por 08.06.2012 / 23:05