Windows Explorer - Diferencia dois arquivos do menu de contexto?

14

Existe alguma maneira de diferenciar dois arquivos selecionados do menu de contexto no Windows Explorer?

    
por leeand00 19.02.2010 / 20:57

3 respostas

12

Parece que você precisa do diff-ext !

This shell extension (diff-ext) makes it possible to launch file comparison tool for 2 or 3 files (depending on the tool) in the same directory or "save" a file(s) for later comparison. It acts as external most recent used (MRU) file list for the comparison tool.

Estou a usá-lo com o KDiff3 , mas há várias outras ferramentas de comparação no página pode ser usada com.

    
por 19.02.2010 / 20:59
4

Aqui está a minha solução para adicionar uma entrada do menu de contexto do botão direito para executar um comando personalizado (como chamar o Meld) e diferenciar dois arquivos.

Plano de fundo Entradas simples no 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 selecionado. Existem três soluções para resolver isso:

  1. Use extensões do shell (complicadas)
  2. Verifique se seu aplicativo captura as chamadas diferentes (complicadas)
  3. Use singleinstance.exe de manipulador de menu de contexto (simples). Este programa faz a opção 2 para você. Coleta argumentos do tempo diferente que é chamado e depois os passa para o comando que você quer. Uma opção de tempo limite está disponível para ajudar a reunir as chamadas a serem coletadas. Siga o link para mais informações.

Passo 1 Download singleinstance.exe de guia de menu de contexto (e agradeço ao autor, a quem eu não estou relacionado)

Passo 2 (para comparação de arquivos e pastas) : Crie um arquivo com extensão ".reg" com o seguinte conteúdo (exemplo de 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 o comando execute (aqui C:\Program Files (x86)\Meld\Meld.exe . Observe o escape dos backspaces e as aspas

Etapa 3 Execute o arquivo .reg . 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 > Abra o Comando > Abra o Comando como admin. Ou Alt-F-M-A ). Basta digitar o nome do arquivo .reg para adicioná-lo ao registro.

É isso.

(uninstall) Você pode excluir as chaves manualmente no registro ou criar um arquivo .reg 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 e editar as entradas do menu de contexto, como o ContextEdit (mas não é possível adicionar o ícone 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
    
por 05.02.2016 / 18:14
2

Além da comparação e WinMerge também podem isto se você habilitar Integração Shell durante a instalação.

    
por 19.02.2010 / 21:22