Acho que deparei com um bug em um arquivo em lotes porque foi escrito com finais de linha unix. Este é um problema conhecido com o cmd.exe executando arquivos em lotes no Windows?
windows
batch-file
cmcginty
fonte
fonte
Respostas:
Isso realmente não é um "bug" ... como é por design. As novas linhas do Windows são definidas como "\ r \ n" ... ou uma combinação de "Retorno de carro" e "Nova linha" ... enquanto os sabores * nix preferem omitir o retorno de carro. Você sempre deve usar "\ r \ n" em qualquer coisa no Windows, sempre que possível. Qualquer outra coisa pode ser interpretada incorretamente ... e causar muitos resultados inesperados.
fonte
Ele parece que lote rótulos são ignorados quando
LF
(Unix linha-ending) é usado em um.bat
arquivo.fonte
Para arquivos em lote, parece não haver diferença entre as terminações de linha unix e as linhas de janelas.
goto
,call
ou mesmo a criação de variáveis de avanço de linha funciona com os dois estilos.E como o analisador de lote remove os retornos de carro diretamente após a fase de expansão percentual, eles nunca desempenharão um papel importante.
fonte