O arquivo em lote falha com o chcp 65001

0

Estou terminando um script de backup para meus colegas usarem durante o trabalho e preciso de ajuda.

Somos brasileiros e, como tal, arquivos e caminhos estarão em português. Isso significa que eu preciso de caracteres Unicode como é, á, à, ç e os gostos. Por exemplo: C:\Users\Usuário\Área de Trabalho é um caminho válido.

Se eu abrir um prompt de comando e digitar assim, ele aceitará os caracteres de acordo. No entanto, se eu tentar usar os mesmos caracteres em um script em lote, obtenho caracteres estranhos.

Em ambos os casos, se eu abrir um prompt de comando e digitar chcp , recebo como resposta que ele está usando codepage 850 . Se eu colocar chcp em um arquivo em lote e executá-lo, ele fornecerá a mesma resposta. Portanto, ao executar uma instância cmd ou um lote, a página de códigos usada é a mesma, mas os caracteres aceitos não são.

Se eu abrir cmd ou colocar em um script chcp 65001 (página de código de UTF-8), assim que eu digitar qualquer coisa Unicode e pressione Enter fecha a janela do prompt. Eu tentei, por exemplo, digitar apenas echo é e foi o suficiente para travar cmd .

Eu preciso ler / gravar dados com esses caracteres. Eu estou usando o texto sublime para codificar.

Como faço isso funcionar?

    
por Rafael Umbelino 20.03.2018 / 16:12

0 respostas