Creo que me encontré con un error en un archivo por lotes porque estaba escrito con terminaciones de línea unix. ¿Es este un problema conocido con cmd.exe ejecutando archivos por lotes en Windows?
Creo que me encontré con un error en un archivo por lotes porque estaba escrito con terminaciones de línea unix. ¿Es este un problema conocido con cmd.exe ejecutando archivos por lotes en Windows?
Respuestas:
Esto realmente no es un "error" ... ya que es por diseño. Las nuevas líneas de Windows se definen como "\ r \ n" ... o una combinación de "Retorno de carro" y "Nueva línea" ... mientras que los sabores * nix prefieren omitir el retorno de carro. Siempre debe usar "\ r \ n" en cualquier cosa en Windows donde sea posible. Cualquier otra cosa puede ser interpretada incorrectamente ... y causar una gran cantidad de resultados inesperados.
Para los archivos por lotes, no parece haber diferencia entre las terminaciones de línea de Unix y las terminaciones de línea de Windows.
goto
, call
o incluso la creación de variables de salto de línea funciona con ambos estilos.
Y a medida que el analizador por lotes elimina los retornos de carro directamente después de la fase de expansión porcentual, nunca jugarán un papel importante.