Como pesquisar um caractere personalizado no Windows?


3

Meu Windows 7 atual está em inglês. Tenho alguns arquivos transferidos de outro computador que contém caracteres que não estão em inglês. Olhe para a foto abaixo

insira a descrição da imagem aqui

Agora, eu quero excluir todos eles. Mas escrever esse caractere na caixa de pesquisa não fornece os arquivos desejados.

insira a descrição da imagem aqui

Como posso excluir todos os arquivos que incluem caracteres que não são do inglês / que não são palavras?

Respostas:


2

Cihad, o PowerShell é provavelmente a sua melhor aposta aqui.

Fiz um pequeno teste para encontrar todos os caracteres não ingleses em uma pasta usando o código abaixo

Get-ChildItem c:\TurkishFileNames\ | where-object {$_.name -match "[^\x00-\x80]+"}

Isso retorna todos os nomes de arquivos que não estão em inglês. Em seguida, você pode passá-los para remover o item, mas primeiro verifique se está recebendo os nomes corretos. Uma desvantagem aqui é que você estava falando sobre nomes de 'pastas', e eu testei isso com nomes de arquivos.

Ainda assim, acredito que você pode usar o mesmo truque. Se você possui o PowerShell 3.0 ou 4.0 instalado, pode usar -directory para exibir apenas nomes de pastas ao usar Get-ChildItem:

Get-ChildItem c:\TurkishFolderNames\ -directory

O resto será semelhante. Você pode baixar o PowerShell 3.0 ou 4.0 da Microsoft

http://www.microsoft.com/en-us/download/details.aspx?id=34595 (WMF 3.0)

http://www.microsoft.com/en-us/download/details.aspx?id=40855 (WMF 4.0)

O Windows 7 veio com o PowerShell 2.0; se você continuar com isso, ainda poderá usar a sintaxe antiga para obter apenas diretórios:

Get-ChildItem C:\TurkishFolderNames\ | ? {$_.PsIsContainer -eq $true}

Você pode prosseguir com o restante:

Get-ChildItem C:\TurkishFolderNames\ | ? {$_.PsIsContainer -eq $true} | ? {$_.name -match "[^\x00-\x80]+"}

Isso é legal. Na verdade, você esqueceu de dizer -r:) também eu precisava para escrever os caracteres um a um como[\xb1\xc4]
Cihad Turhan

1
Bem, eu não quis dizer que os exemplos eram literais. Não faço ideia de como é a estrutura da sua pasta. Se for hierárquico, com certeza, jogue -recursive lá.
Adil Hindistan

0

Conforme extraído do meu bom amigo Adam aqui: Não é possível pesquisar por valores em dólares que estão no nome do arquivo.

Pode ser necessário agrupar sua pesquisa da seguinte maneira:

~="searchterm"


Infelizmente, ele não recupera nenhum resultado. Se você leu os comentários abaixo no seu link, eles já comentaram que este método não está funcionando.
Cihad Turhan

O método funciona, no entanto, não funcionou para esse usuário específico. Eu testei e funciona. No seu caso, embora eu não tenho certeza qual é o problema seria ...
Michael Frank

Vou tentar encontrar uma solução para isso. Muito provavelmente esse personagem pertence a outro idioma, o que cria problemas. Obrigado pela dica.
Cihad Turhan

0

Uma maneira rápida de encontrar arquivos com um caractere específico é o Powershell

dir D:\* -r -include *∓*

Você também pode usar a notação unicode : 0x2213é equivalente aU+2213

$char = [char]0x2213
dir D:\* -r -include *$char*

Btw. usar a pesquisa do Windows me fornece o resultado correto com seus caracteres especiais!
Tem certeza de que não configurou algo incorretamente? ( Minha configuração )

insira a descrição da imagem aqui


Tentou, ainda me deu nenhum resultado :( É provavelmente por causa da codificação Existe alguma maneira para procurar explicitamente definir um personagem como.U+2213
Cihad Turhan

@CihadTurhan e agora? :)
nixda

Linha de comando unicode funciona obrigado. Eu já tentei a resposta de Adil. Bem, isso é interessante. Quando escrevo na caixa de pesquisa como a sua, não encontro nenhum resultado. Eu acredito que é porque essa combinação de ∓, ÿ etc representa outros personagens como ş, ı, ö, por isso não é possível encontrar.
Cihad Turhan

@CihadTurhan Eu uso partial matchese desabilito o índice de pesquisa. Talvez seja essa a causa? Posso ter seu exemplo em que ele não funciona para você?
Nixda

. Infelizmente não :( Eu acredito que é um problema de linguagem Quando eu digito Ay ele encontra, por exemplo ayrac.png, mas não sÅŸra.pngObrigado pelo seu esforço que eu vou com linha de comando...
Cihad Turhan
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.