Windows 7 Menu de Contexto para Pastas - a pasta * IF * contém certos tipos de arquivos

3

Eu gostaria de adicionar uma entrada ao menu de contexto para pastas, mas apenas mostrá-lo no menu de contexto SE a pasta em questão contém arquivos de um certo tipo (neste caso, apenas se a pasta contiver arquivos .avi). Isso é possível?

Tenho certeza que já vi pelo menos um programa que só tinha sua entrada no menu de contexto mostrada em certas pastas - embora eu não possa, por enquanto, lembrar o que era.

    
por Dal Hundal 02.09.2010 / 11:24

3 respostas

8

Eu sei que este é um tópico antigo, mas como não havia muito no google sobre esse tópico ... Eu queria adicionar um pouco mais ... Na maioria das vezes isso é apenas o que harrymc mencionou, mas talvez isso ajudará aqueles que não se sentirem à vontade com a edição do registro ...

Primeiro, existem vários métodos de API disponíveis no Sistema objeto mencionado acima. Por exemplo, em vez de ItemName, você também pode verificar System.FileName (que funcionou melhor para mim) ou System.ItemFolderPathDisplay ...

Em segundo lugar, a sintaxe de pesquisa é um pouco envolvida, mas na verdade oferece muitas opções. Você pode usar os curingas padrão do DOS no teste AppliesTo (por exemplo, "?" Para exatamente 1 caractere, "*" para 0 ou mais caracteres). Você pode usar uma variedade de operadores contra o nome ... como igual, não igual, contém, começa com, termina com, etc. Você pode unir várias condições com palavras-chave "AND" ou "OR" (ou usar "NOT ") .. Parece que você pode até fazer um pouco de sintaxe de busca SQL-ish, mas eu não consegui fazer isso funcionar nativamente via registro (eu poderia ter a sintaxe errada ... não tenho certeza) .

3) Embora eu não tenha encontrado a solução para a pergunta, os scripts de registro a seguir mostram como você pode mostrar ou ocultar itens de menu de contexto com base no nome e local da pasta. Acabei de fazer um prompt de comando, mas você pode facilmente mudar para qualquer outra coisa.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\# Ends With '_mydata']
"AppliesTo"="System.FileName:\"*_mydata\""

[HKEY_CLASSES_ROOT\Folder\shell\# Ends With '_mydata'\command]
@="C:\Windows\System32\cmd.exe /k cd /d \"%1\""

[HKEY_CLASSES_ROOT\Folder\shell\# Starts with 'C:-slash-[Videos]']
"AppliesTo"="System.ItemFolderPathDisplay:~< \"C:\[VIDEOS]\""

[HKEY_CLASSES_ROOT\Folder\shell\# Starts with 'C:-slash-[Videos]'\command]
@="C:\Windows\System32\cmd.exe /k cd /d \"%1\""

[HKEY_CLASSES_ROOT\Folder\shell\# Starts with 'C:-slash-[Videos]' AND ends with '_mydata']
"AppliesTo"="System.FileName:\"*_mydata\" AND System.ItemFolderPathDisplay:~<\"C:\\""

[HKEY_CLASSES_ROOT\Folder\shell\# Starts with 'C:-slash-[Videos]' AND ends with '_mydata'\command]
@="C:\Windows\System32\cmd.exe /k cd /d \"%1\""
    
por 13.06.2012 / 06:28
4

Certamente é possível escrever um manipulador de menu de contexto cuja entrada apareça apenas no menu se determinados arquivos existirem no diretório. Um manipulador de menu de contexto é um programa que é livre para decidir se deve aparecer ou não, embora isso possa retardar a aparência do menu de contexto para pastas.

O único mecanismo geral no Windows para que isso aconteça é a Sintaxe de Consulta Avançada do Windows Search. Um dos novos recursos do Windows 7 é a adição do "AppliesTo" valor para itens do menu de contexto estático. Isso permite que um item estático seja mostrado ou oculto com base no resultado de uma consulta AQS .

Neste exemplo , o valor DefaultAppliesTo torna esse verbo o padrão para qualquer arquivo com a palavra "exampleText1" em seu nome de arquivo. O valor AppliesTo ativa o verbo de qualquer arquivo com "exampleText1" no nome. O valor HasLUAShield exibe o escudo para arquivos com "exampleText2" no nome.

HKEY_CLASSES_ROOT
   txtile
      shell
         test.verb
            DefaultAppliesTo = System.ItemName:"exampleText1"
            HasLUAShield = System.ItemName:"exampleText2"
            AppliesTo = System.ItemName:"exampleText1"

Como os AQs não são bem documentados, não consegui encontrar a sintaxe para consultar o conteúdo de uma pasta.

    
por 23.09.2010 / 10:56
0

As Ferramentas de trabalho permitem que você faça isso, pelo menos dentro de seu próprio menu de contexto.

    
por 02.09.2010 / 15:11