Meu objetivo final é configurar um script em um servidor Windows que encontre todos os arquivos em uma determinada pasta que contenham caracteres não imprimíveis, não-ASCII, e mova esses arquivos para outra pasta.
Para encontrar os arquivos, pensei que poderia usar algo assim, mas não funciona:
findstr /m /r /c:"[^\x20-\x7e\r\n]" *.txt
Para simplificar o problema, digamos que eu tenha dois arquivos de texto, 1.txt e 2.txt, que contêm "abcdefg" e "defghijk", respectivamente. Este comando retornará "2.txt" na saída como esperado:
findstr /m /r /c:"[^a-g]" *.txt
No entanto, substituir os códigos hexadecimais \ x61 e \ x67 por 'a' e 'g' falha sem saída:
findstr /m /r /c:"[^\x61-\x67]" *.txt
Não parece que você pode usar valores hexadecimais em uma classe de caracteres com o utilitário findstr. De que outra forma posso alcançar meu objetivo? É possível fazer com o script em lote do Windows?