O script em lote está adicionando caracteres descolados quando um comando é executado

2

Eu tenho este script e quando tento executá-lo, vários símbolos aleatórios aparecem no prompt de comando:

cd "X:\folder\subfolder"
svn update
pause

Eunãotenhoideiadecomoessessímbolossãochamadosoucomoelesapareceramnafrentedocdparatentardescobrirporqueissoestáacontecendo.

Alguémjáexperimentoualgoassimantes?

EDIT:ApósoscomentáriosdeTechie,encontreieste link

    
por sab669 24.06.2015 / 21:14

1 resposta

4

É porque quando você salva um arquivo de texto no Visual Studio ele o salva em codificação UTF-8 , incluindo uma marca de pedido de byte (BOM) no início.

Como a página de códigos padrão da linha de comando não é UTF-8, você vê os caracteres.

Você pode definir a linha de comando para suportar o UTF-8 emitindo o comando chcp 65001 , mas para garantir a compatibilidade, é melhor garantir que seu arquivo de texto / lote seja salvo com codificação ANSI padrão em vez de UTF-8.

Para isso, veja esta outra questão SU existente: Visual Studio 2010: É possível forçar o editor a usar ANSI em vez de UTF-8? , que fala sobre a mesma coisa que você está vendo.

Para mais informações sobre o assunto, talvez também confira esta pergunta do StackOverflow: Visual Studio insere caracteres inválidos em arquivos em lote .

    
por 24.06.2015 / 21:40