Respostas:
Parece que você precisa do diff-ext !
Essa extensão do shell (diff-ext) possibilita iniciar a ferramenta de comparação de arquivos para 2 ou 3 arquivos (dependendo da ferramenta) no mesmo diretório ou "salvar" um arquivo para comparação posterior. Ele atua como lista de arquivos externos mais recentes usados (MRU) para a ferramenta de comparação.
Estou usando-o com o KDiff3 , mas existem várias outras ferramentas diff na página com as quais ele pode ser usado.
Kdiff3
=> Compare
); portanto, se você precisar de algo rápido e fácil, isso pode ser suficiente.
Aqui está minha solução para adicionar uma entrada de menu de contexto do botão direito para executar um comando personalizado (como chamar Meld) e diferenciar dois arquivos.
Background Entradas simples do menu de contexto podem ser facilmente adicionadas no registro do Windows (regedit): manualmente ou criando um arquivo .reg (veja o exemplo abaixo).
O problema é que o comando será executado para cada arquivo que você selecionar. Existem três soluções para resolver isso:
singleinstance.exe
partir do contexto-menu-manipulador (simples). Este programa faz a opção 2 para você. Ele coleta argumentos a partir do momento em que é chamado e depois os passa para o comando desejado. Está disponível uma opção de tempo limite para ajudar a coletar chamadas a serem coletadas. Siga o link para mais informações.Etapa 1 Baixe singleinstance.exe a partir de context-menu-handler (e agradeça ao autor, com quem não estou relacionado)
Etapa 2 (para comparação de arquivos e pastas) : Crie um arquivo com a extensão ".reg" com o seguinte conteúdo (exemplo: Meld com um ícone):
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"
O arquivo reg cria uma entrada no menu de contexto chamada "Diff It!" para todos os arquivos ( *
) e para pastas ( Folder
). As linhas que contêm o Icon
podem ser removidas se você não quiser um ícone.
Adapte o caminho do programa singleinstance.exe
e a execução do comando (aqui C:\Program Files (x86)\Meld\Meld.exe
. Observe o escape dos backspaces e as aspas
Etapa 3 Execute o .reg
arquivo. Clicar duas vezes nele pode funcionar se você for administrador. Caso contrário, abra um prompt de comando admin na sua pasta (no explorer: Arquivo> Abrir Comando> Abrir Comando como admin. Ou Alt-F-M-A
). Basta digitar o nome do .reg
arquivo para adicioná-lo ao registro.
É isso aí.
(desinstalação) Você pode excluir as chaves manualmente no registro ou criar um .reg
arquivo com o seguinte conteúdo:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
[-HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders]
Alternativa Use um software para adicionar, editar e remover entradas do menu de contexto, como ContextEdit (mas não é possível adicionar ícones facilmente). Nesse caso, você não precisa escapar das barras e das aspas para que o comando fique assim:
"c:\Bin\singleinstance.exe "%1" "C:\Program Files (x86)\Meld\Meld.exe" $files --si-timeout 400
singleinstance.exe
. Talvez não seja compatível com o Windows 10.
O Beyond Compare e o WinMerge também podem fazer isso se você ativar a Integração do Shell durante a instalação.