O arquivo Bat retorna erro mas funciona corretamente

1

Eu tenho o seguinte arquivo .bat que costumava funcionar sem nenhum erro, mas por alguma razão ele começou a retornar um erro toda vez que eu o executo.

Aqui está o arquivo .bat:

C:
start "" "C:\Program Files (x86)\NetBeans 7.0.1\bin\netbeans.exe"
D:
start "" "D:\standalone\My AutoHotkey Script.ahk"

O erro:

    
por IMB 11.01.2012 / 06:53

2 respostas

4

Você escreveu seu script de comando no UTF-8. Esses três caracteres são a codificação UTF-8 da Marca de Ordem de Byte Unicode, U+FEFF , exibida na página de códigos 437. Scripts para o processador de comandos da Microsoft são sempre tratados pelo processador como se codificados na página de códigos "OEM" atual 437 no seu caso), e deve ser escrito como tal.

O motivo pelo qual tudo ficou bem no Bloco de notas é que o Notepad reconhece as BOMs e decodifica o arquivo de acordo. O que o Notepad estava mostrando não era o que o processador de comando realmente vê no arquivo.

Note que o bloco de notas não tem capacidade de ler / gravar arquivos em páginas de códigos OEM . Se você estiver usando caracteres em scripts de comando que estão fora do subconjunto ASCII comum a páginas de códigos "OEM" e "Windows" (felizmente, não é o caso aqui), você não pode usar o Bloco de notas para editar esses scripts (a menos que você seja capaz de traduzir de "OEM" para páginas de código "Windows" em sua cabeça enquanto digita).

Mesmo assim, você terá problemas quando o Notepad anexar silenciosamente marcas de ordem de byte a seus arquivos quando você acidentalmente salvar como UTF-8 em vez de na página de código atual do Windows (que o Notepad denomina "ANSI"). Isso é quase certamente o que aconteceu aqui, de fato.

    
por 11.01.2012 / 13:44
1

Parece que o começo do seu arquivo BAT tem algum caracter que não pode ser reconhecido pelo cmd (veja a primeira linha da sua captura de tela).

Abra seu arquivo BAT usando o Bloco de Notas, exclua qualquer caractere estranho e salve-o; em seguida, execute-o novamente. Talvez o problema esteja resolvido?

    
por 11.01.2012 / 07:04

Tags