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?

Cihad Turhan
fonte

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]+"}
Adil Hindistan
fonte
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"

Michael Frank
fonte
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

nixda
fonte
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