Como procurar um caractere personalizado no windows?

3

Meu atual Windows 7 está em inglês. Eu tenho alguns arquivos transferidos de outro computador que contém caracteres não ingleses. Veja a figura abaixo

Agora,queroexcluirtodoseles.Masescreveressecaracterenacaixadepesquisanãoforneceosarquivosdesejados.

Como posso excluir todos os arquivos que incluam caracteres que não sejam de inglês / não-palavra?

    
por Cihad Turhan 05.12.2013 / 20:52

3 respostas

2

Cihad, PowerShell é provavelmente sua melhor aposta aqui.

Eu 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 são em inglês. Você pode então passá-los para remove-item, mas primeiro determine que você está obtendo os nomes corretos. Uma ruga 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ê tiver o PowerShell 3.0 ou 4.0 instalado, poderá usar -directory para exibir apenas os nomes das 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

link (WMF 3.0)

link (WMF 4.0)

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

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

Você pode prosseguir com o resto:

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

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

Você pode precisar envolver sua pesquisa da seguinte maneira:

~="searchterm"

    
por 05.12.2013 / 21:00
0

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

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

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

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

Entre. usar a pesquisa do Windows me dá um resultado correto com seus caracteres especiais!
Tem certeza de que você não configurou mal alguma coisa? ( Minha configuração )

    
por 05.12.2013 / 21:32