Aquí está el problema y cómo solucionarlo. El problema es un error o una característica en el programa cmd de lote de DOS. Primero la declaración clara del problema. Si tiene un archivo por lotes DOS con etiquetas de destino como ": dothis", y al final de la etiqueta no tiene espacio, entonces el archivo por lotes no funcionará si el final de línea son terminaciones de línea UNIX. Esto significa que debe ejecutar unix2dos en el archivo antes de poder usarlo.
La causa principal es el procesador de línea de comandos de DOS, (programa de shell), toma el carácter de fin de línea de UNIX como parte de la etiqueta. Como la parte ir nunca usa esto como la etiqueta, nunca se encuentra, ya que tal etiqueta realmente no existe. La solución es poner un espacio extra al final de cada etiqueta de destino, o incluso mejor cada línea. Ahora el final de líneas de UNIX no viene a jugar, ya que el espacio actúa como separador y todo funciona.
Tuve este problema con el archivo de lotes de hormigas enviado con eclipse y se lo llamó desde MSVC, cambiando todas las terminaciones de línea, gracias. –
Otra razón que explica aquí: http://stackoverflow.com/q/1522129/471214 – mmdemirbas
Encontré este problema con los scripts por lotes enviados con Groovy: todos los scripts solo contenían LF, tuve que reemplazarlo manualmente con CRLF. – Neel