Como adicionar um item de menu de contexto do Windows Explorer com funcionalidade personalizada?

13

Gostaria de poder clicar com o botão direito do mouse em um arquivo no Windows Explorer, no submenu 7-Zip e, em vez de algo como ' Adicionar ao arquivo ... ', gostaria de ' Adicionar para<filename>-<today's date>.7z '

Uma imagem vale mais que mil palavras:

Menu Conteúdo do Explorer

Essa seria uma personalização atualmente não oferecida pelo 7-Zip (pelo que sei).

Virola de Umber
fonte

Respostas:

10

O 7-zip é de código aberto, então suponho que você possa implementar esse recurso você mesmo (tee hee) ou solicitar / pagar aos desenvolvedores principais para fazer isso por você. Em vez disso:

Você não pode fazer isso configurando opções com 7 zip, mas pode fazê-lo criando um novo item de menu de contexto. O texto não será dinâmico como sua maquete, mas os resultados serão os mesmos.

Basicamente, o que você precisará fazer é criar um script em lote que inicie o 7-zip com os parâmetros certos para pegar o arquivo especificado e adicioná-lo a um arquivo, fornecendo a data de hoje como o nome do arquivo.

Este script fará isso (com base no script daqui ). Cole isso em um novo arquivo de texto chamado 7ztoday.bat:

@echo off
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B

"%programfiles%\7-zip\7z.exe" a %mm%%dd%%yyyy%.7z %1

Em seguida, usando um utilitário como o Editor de Programas Padrão , podemos adicionar um novo item de menu de contexto para arquivos que apontam para esse script em lote. Por conveniência, eu exportei essa alteração como um arquivo reg, para que você possa copiá-la em um novo arquivo de texto que termine com .rege clique duas vezes para mesclar no registro.

Windows Registry Editor Version 5.00

; Created with Default Programs Editor 
; http://defaultprogramseditor.com/

; Add Verb
[HKEY_CURRENT_USER\Software\Classes\*\shell\AddToTodaysArchive_verb_key]
@="Add file to today's archive"
[HKEY_CURRENT_USER\Software\Classes\*\shell\AddToTodaysArchive_verb_key\command]
@="\"C:\\Users\\Public\\7ztoday.bat\" \"%1\""

Em relação às configurações de 7 zip:

Esse submenu específico é registrado pelo 7-zip e você pode configurar o que aparece no submenu a partir das opções do programa, abrindo o 7-Zip File Manager e indo para Tools-> Options-> Plugins, selecione "7-Zip" e clique em Options. Na lista dessa janela, estão todas as opções internas disponíveis para essa lista secundária no menu de contexto.

insira a descrição da imagem aqui

Fator Místico
fonte
Eu já usei isso antes. No entanto, gostaria de adicionar um item de menu personalizado que gere automaticamente um nome de arquivo e inclua a data de hoje no final.
Umber Ferrule
Resposta atualizada com uma solução alternativa que adiciona um novo item de menu de contexto de nível superior.
Factor de místico