Meu Windows 7 atual está em inglês. Tenho alguns arquivos transferidos de outro computador que contém caracteres não ingleses. Olhe para a foto abaixo
Agora, quero excluir todos eles. Mas escrever esse caractere na caixa de pesquisa não fornece os arquivos desejados.
Como posso excluir todos os arquivos que incluem caracteres que não sejam do inglês/não-palavras?
Responder1
Cihad, o PowerShell é provavelmente sua melhor aposta aqui.
Fiz um pequeno teste para encontrar todos os caracteres que não sejam do inglês 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 não ingleses. Você pode então passá-los para remove-item, mas primeiro estabeleça que está obtendo os nomes corretos. Um problema aqui é que você estava falando sobre nomes de 'pastas' e 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 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 então prosseguir com o resto:
Get-ChildItem C:\TurkishFolderNames\ | ? {$_.PsIsContainer -eq $true} | ? {$_.name -match "[^\x00-\x80]+"}
Responder2
Conforme retirado 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 encerrar sua pesquisa da seguinte maneira:
~="searchterm"
Responder3
Uma maneira rápida de encontrar arquivos com um caractere específico éPowershell
dir D:\* -r -include *∓*
Você também pode usarnotação Unicode: 0x2213
é equivalente aU+2213
$char = [char]0x2213
dir D:\* -r -include *$char*
Por falar nisso. usar a pesquisa do Windows me dá resultados corretos com seus caracteres especiais!
Tem certeza de que não configurou algo errado? (Minha configuração)