Tengo una página que convierte imágenes a arte de consola por lotes de color ANSI, con un botón de descarga, pero da errores cuando la abro. En el bloc de notas noté que dice " Unix (LF) " en la esquina inferior derecha. Todos mis otros scripts por lotes son " Windows (CRLF) ". ¿Cómo puedo codificarlo en el formato correcto? ¿Es ese el problema?
ejemplo del lote (un píxel es un carácter █, ESC es el carácter de escape ANSI):
@echo off chcp 65001 >nul cls echo ESC[38;2;21;20;26m█ESC[38;2;21;20;26m█ ... pause >nulEsos son los errores. Funciona perfectamente cuando pego el código en un nuevo archivo .bat, por lo que definitivamente es algún tipo de problema de codificación.
El js que maneja la descarga:
var dwn = $('#download') // Download button dwn.download = 'console-img.bat' dwn.href = URL.createObjectURL(new Blob([result], { type: 'text/plain' })) // result is a string containing the codeBien, después de investigar un poco sobre CRLF / LF encontré la solución.
Reemplace todos los \n en su cadena a \r\n