O Windows 7 procura um arquivo com um caractere especial no nome do arquivo?


23

Estou tentando encontrar arquivos no Windows 7 que tenham parênteses no nome do arquivo.

No entanto, quando digito (ou *(*ou "("ou *"("*recebo nada ou todo arquivo.

A referência de "sintaxe avançada de consulta" da Microsoft para pesquisa na área de trabalho não menciona nada sobre isso.

O que da?


1
Veja meu post relacionado sobre a pesquisa de? caractere no conteúdo do arquivo de texto. Estou vendo problemas semelhantes. superuser.com/questions/168638/…
jpierson

A solução fácil é usar o Everything .
Michael S.

Respostas:


24

Use seguinte sintaxe: ~="(".

~=é um caractere de escape e, em seguida, você pode colocar um carácter especial como (, &, ?etc. entre aspas duplas.


1
Mas como eu posso procurar por arquivos contendo os ~ de caracteres (por exemplo palavra arquivos de bloqueio '~ $ xyz.doc'?
Mestre de Celebração


1
Eu tive que omitir as aspas para que isso funcionasse com um ponto.
Sirdank 19/05

5

Entendi!

Só tinha que digitar isso na caixa de pesquisa:

"*(*"

Isso funcionou para você no Windows 7? Para mim, ele retorna todos os arquivos (o mesmo com "*$*", já que eu estava realmente procurando por cifrões nos nomes de arquivos.) O que funcionou para mim foi ~="("(com aspas entre parênteses) e ~=$(sem aspas para cifrão).
ashleedawg

3

Vamos ajudar!

Para qualquer problema de pesquisa do Windows, minha recomendação é duas:

  1. Leia a documentação do AQS (Advanced Query Syntax) para saber o que todos os caracteres especiais fazem.
  2. Saiba que a Pesquisa do Windows converterá sua consulta em AQS preciso e, a menos que você seja específico em suas consultas, o Windows adivinhará o que você realmente quis dizer com AQS. Os resultados podem ser surpreendentes!

Primeiro, algumas noções básicas sobre o AQS

Por padrão, as propriedades do arquivo de sequência (Nome do arquivo, autor etc.) pesquisam com COP_WORD_STARTSWITH $<, portanto, qualquer palavra (separada por spaces , - _ () []e mais) que comece com o termo da pesquisa. Outras propriedades que não são de seqüência de caracteres (datas etc.) pesquisam com COP_EQUAL =ou correspondências exatas por padrão (sem curingas *e ?são literais).

Segundo, se você estiver pesquisando em qualquer local indexado, todos os locais não indexados na sua consulta não serão mostrados.

Terceiro, clique na barra de endereços para ver com o que o AQS Windows Search realmente pesquisou. Você pode ignorar as migalhas de localização e o nome de exibição: ele será codificado em porcentagem, portanto decodifique em um site como https://www.url-encode-decode.com/

Quarto, sem documentos *e ?se comportam de maneira imprevisível no AQS, a menos que estejam em um~ COP_DOSWILDCARDS consulta (o que significa que a não palavra começa com, curingas *ou ?é interpretada). A pesquisa do Windows normalmente converte pesquisas em uma ~consulta. Por exemplo, parece caracteres curinga **e ?com caracteres alfanuméricos pesquisam propriedades de cadeia de caracteres com ~, mas **sem alfanuméricos, nada pesquisa. Também *as ~consultas únicas em não são tratadas como curinga com COP_WORD_STARTSWITH $<.

Vamos analisar suas consultas

  1. (AQS search-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Userssimplificadocrumb=

    Bem, não citado (é um operador de agrupamento para quando você usa ANDou OR, você não agrupou nada; portanto, o Windows acha que você quis dizer que nada do grupo pesquisa tudo.

  2. *(* AQS crumb=

    A maioria das pesquisas do Windows que começam com o *Windows tentam converter para crumb=~~query_term(a contém pesquisa). *é tratado como normal em uma consulta contém. De qualquer forma, nesse caso, você coringa um grupo de nada, então o Windows procura todos os grupos de nada (ou tudo!)

  3. "(" AQS crumb=System.Generic.String:"("

    Procurar citações por frases exatas (a palavra inteira ou a propriedade deve corresponder) e são caracteres literais, exceto para *, ?e ""tornar-se ". Ele procura por palavras que começam com (, mas como as palavras não são (, apenas procura por propriedades que são apenas(

  4. *"("*AQS crumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("* Essa é loucura, mas o Windows Search tenta converter prefixos *seguidos por certos caracteres especiais como classificações por estrelas. 1-13 é 1 estrela. Observe também nos meus testes, **sem caracteres alfanuméricos, antes ou depois de procurar nada em vez de um curinga, e é imprevisível.

    Esta consulta completa significa

    (Classificação de 1 estrela OU palavra que começa com nada) E propriedades apenas ( . *não corresponderá a nenhum outro caractere porque toda a propriedade deve ser (.

    Simplificado significa, arquivos de 1 estrela chamados (

    **na consulta, na verdade, mostrou um (arquivo em estrela que não seja um para mim, mas ao alterar o **para ***e o retorno **, não houve resultados esperados ( **é imprevisível)

As outras respostas

  1. ~="(" AQS crumb=System.Generic.String:~="("

    Isso não funcionou, o Windows parece não encontrar nada se a quantidade de pesquisa for muito intensa. filename:~="("funciona. Encontre essencialmente um nome de arquivo que contenha apenas um (lugar

  2. "*(*"AQS crumb=filename:~~"*(*" OR System.Generic.String:"*(*" Isso funcionou. O nome do arquivo contém caracteres *(*curinga OU qualquer palavra de propriedade que comece com caracteres curinga e tenha a (. Note que both ~=e ~~mean contêm.


0

Isso funcionou perfeitamente para encontrar arquivos 'numerados' / duplicados :

   name:~"*(1)*"

alternativamente , para encontrar PASTAS numeradas / duplicadas, use:

   kind:folder name:~"*(1)*"


~="(" como sugerido em outra resposta não funcionou para mim no Windows 10

No meu caso, eu precisava encontrar CÓPIAS DE ARQUIVO / "arquivos numerados", ou seja, encontrar arquivos com "(1)" anexados ao final do nome do arquivo, por exemplo, arquivos criados quando / por:

  1. você arrasta / explorer copia arquivos para uma pasta onde já existem arquivos com os mesmos nomes de arquivo.
  2. o software de armazenamento para sincronização em nuvem, como o OneDrive, o GoogleDrive ou o DropBox, encontra problemas ou conflitos de sincronização e cria 2 cópias de um arquivo, nomeando um com um número anexado "arquivo duplicado", "arquivo duplicado (1)", "arquivo duplicado (2 ) ", etc ...

Isso não responde à pergunta (pelo menos não diretamente).
Máté Juhász

@ MátéJuhász você me rebaixou mesmo? verdade? usar minha sugestão sem o número "1" não funciona para você? obrigado
Flak DiNenno

Isso realmente funcionou para mim. Usando filename:~"*TEXT*"where TEXT é a entrada exata com caracteres especiais. A resposta principal não funcionou, eu não poderia fazê-lo funcionar com ou sem aspas, com ou sem asteriscos.
Liggliluff

Gostaria de marcar com +1? Fl
Flak DiNenno

0

Use esta expressão para pesquisar com nomes de arquivos,

filename: "*(1)*"


-1

~ "* (?). *" para duplicatas que não excedam (9), basta adicionar outra? por 2 dígitos. Mas tenha cuidado usando * em vez de?. Amplia consideravelmente a pesquisa e os resultados podem não ser mais desejáveis.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.