Respuestas:
¡Parece que necesitas diff-ext !
Esta extensión de shell (diff-ext) permite iniciar la herramienta de comparación de archivos para 2 o 3 archivos (dependiendo de la herramienta) en el mismo directorio o "guardar" un archivo (s) para una comparación posterior. Actúa como la lista de archivos externos más recientes utilizados (MRU) para la herramienta de comparación.
Lo estoy usando con KDiff3 , pero hay una serie de otras herramientas de diferencias en la página con las que se puede usar.
Kdiff3
=> Compare
), por lo que si solo necesita algo rápido y fácil, eso podría ser suficiente.
Aquí está mi solución para agregar una entrada del menú contextual del botón derecho para ejecutar un comando personalizado (como llamar a Meld) y diferenciar dos archivos.
Fondo Las entradas simples del menú contextual se pueden agregar fácilmente en el registro de Windows (regedit): manualmente o mediante la creación de un archivo .reg (consulte el ejemplo a continuación).
El problema es que el comando se ejecutará para cada archivo que seleccione. Hay tres soluciones para resolver esto:
singleinstance.exe
desde context-menu-handler (simple). Este programa hace la opción 2 por ti. Recopila argumentos del momento diferente en que se llama y luego los pasa al comando que desea. Hay una opción de tiempo de espera disponible para ayudar a reunir las llamadas que se van a recopilar. Sigue el enlace para más información.Paso 1 Descargue singleinstance.exe desde context-menu-handler (y agradezca al autor, con quien no estoy relacionado)
Paso 2 (para la comparación de archivos y carpetas) : cree un archivo con la extensión ".reg" con el siguiente contenido (ejemplo para Meld with a Icon):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
@="Diff it!"
"Icon"="C:\\Config\\look\\Icons\\Meld.ico"
[HKEY_CLASSES_ROOT\*\shell\DiffIt_Files\command]
@="\"c:\\Bin\\singleinstance.exe\" \"%1\" \"C:\\Program Files (x86)\\Meld\\Meld.exe\" $files --si-timeout 400"
[HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders]
@="Diff It!"
"Icon"="C:\\Config\\look\\Icons\\Meld.ico"
[HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders\command]
@="\"c:\\Bin\\singleinstance.exe\" \"%1\" \"C:\\Program Files (x86)\\Meld\\Meld.exe\" $files --si-timeout 400"
El archivo de registro crea una entrada de menú contextual con la etiqueta "Diff It!" para todos los archivos ( *
) y para Carpetas ( Folder
). Las líneas que contienen Icon
pueden eliminarse si no desea un icono.
Adapte la ruta del programa singleinstance.exe
y la ejecución del comando (aquí C:\Program Files (x86)\Meld\Meld.exe
. Observe el escape de los espacios de retroceso y las comillas
Paso 3 Ejecute el .reg
archivo. Hacer doble clic en él podría funcionar si eres administrador. De lo contrario, abra un símbolo del sistema de administración en su carpeta (en el explorador: Archivo> Abrir comando> Abrir comando como administrador. O Alt-F-M-A
). Simplemente escriba el nombre del .reg
archivo para agregarlo al registro.
Eso es.
(desinstalar) Puede eliminar las claves manualmente en el registro o crear un .reg
archivo con el siguiente contenido:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
[-HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders]
Alternativa Use un software para agregar, editar y eliminar entradas del menú contextual como ContextEdit (pero no puede agregar íconos fácilmente). En este caso, no necesita escapar de las barras y las comillas para que el comando se vea así:
"c:\Bin\singleinstance.exe "%1" "C:\Program Files (x86)\Meld\Meld.exe" $files --si-timeout 400
singleinstance.exe
. Tal vez no sea compatible con Windows 10.
Beyond Compare y WinMerge también pueden hacer esto si habilita Shell Integration durante la instalación.