¿Cómo agregar un elemento del menú contextual del Explorador de Windows con funcionalidad personalizada?

13

Me gustaría poder hacer clic derecho en un archivo en el Explorador de Windows, luego en el submenú 7-Zip, y luego en lugar de algo como ' Agregar al archivo ... ', me gustaría, ' Agregar a<filename>-<today's date>.7z '

Una imagen vale mas que mil palabras:

Menú de contenido del explorador

Esta sería una personalización que actualmente no ofrece 7-Zip (que yo sepa).

Virola Umber
fuente

Respuestas:

10

7-zip es de código abierto, así que supongo que podría implementar esta función usted mismo (tee hee) o solicitar / pagar a los desarrolladores principales para que lo hagan por usted. En lugar de eso:

No puede hacerlo configurando las opciones de 7-zip, pero puede hacerlo creando un nuevo elemento del menú contextual. El texto no será dinámico como su maqueta, pero los resultados serán los mismos.

Básicamente, lo que tendrá que hacer es crear un script por lotes que ejecute 7-zip con los parámetros correctos para tomar el archivo que especifique y agregarlo a un archivo, proporcionando la fecha de hoy como el nombre del archivo.

Este script lo hará (según el script de aquí ). Pegue esto en un nuevo archivo de texto llamado 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

Luego, utilizando una utilidad como el Editor de programas predeterminados , podemos agregar un nuevo elemento de menú contextual para los archivos que apuntan a este script por lotes. Por conveniencia, exporté este cambio como un archivo de registro, por lo que puede copiarlo en un nuevo archivo de texto que termine .regy hacer doble clic para fusionarse en el 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\""

En cuanto a la configuración de 7 zip:

Ese submenú en particular está registrado por 7-zip, y puede configurar lo que aparece en el submenú desde las opciones de ese programa, abriendo el Administrador de archivos 7-Zip y yendo a Tools-> Options-> Plugins, seleccione "7-Zip", luego haga clic Options. En la lista de esa ventana están todas las opciones integradas que están disponibles para esa lista secundaria en el menú contextual.

ingrese la descripción de la imagen aquí

Factor místico
fuente
He usado esto antes. Sin embargo, me gustaría agregar un elemento de menú personalizado que genera automáticamente un nombre de archivo y agrega la fecha de hoy al final.
Umber Ferrule el
Respuesta actualizada con una solución alternativa que agrega un nuevo elemento de menú contextual de nivel superior.
Factor Mystic el