utiles tildes lenguaje especiales ejemplos con caracteres batch bat archivos acentos batch-file codepages

batch file - tildes - Ejecutar archivo BAT/CMD con caracteres acentuados en él



lenguaje batch (6)

Como tiene @echo off no puede ver lo que su lote está enviando al símbolo del sistema. Al reproducir tu problema con eso parece que el carácter ñ se malinterpreta ya que el resultado que veo es:

C:/espa±ol/jre/bin/java -version The system cannot find the path specified.

Pude hacer que funcionara haciendo eco del comando en el archivo por lotes desde el símbolo del sistema, es decir,

echo C:/español/jre/bin/java.exe -version>>test.bat

Esto parece traducir el carácter en lo que sea que el símbolo del sistema esté buscando, aunque solo lo he probado con configuración de configuración de idioma en inglés, así que no sé si funcionará en todas las situaciones. Además, si abre el lote en un editor de texto como el bloc de notas, se ve mal ( C:/espa¤ol/jre/bin/java.exe )

Tengo un archivo por lotes de Windows que tiene una instrucción para ejecutar un archivo EXE en una ubicación cuya ruta contiene caracteres acentuados. Los siguientes son los contenidos del archivo por lotes.

@echo off C:/español/jre/bin/java.exe -version

C: / español / jre / bin / java.exe - Esta ruta existe y es correcta. Puedo ejecutar este comando directamente en cmd.exe. Pero cuando ejecuto el comando desde un archivo bat / cmd falla diciendo "El sistema no puede encontrar la ruta especificada"

Una forma de solucionar esto es estableciendo la página de códigos en 1252 (eso funciona para mí). Pero me temo que tendríamos que configurar páginas de códigos para cualquier configuración no inglesa y averiguar qué página de códigos usar es bastante difícil.

¿Hay un enfoque alternativo para solucionar este problema? ¿Tal vez una opción de línea de comando o algo más?


Otra forma de hacerlo, en Windows, es mediante el uso de wordpad.exe :

  1. Ejecute wordpad.exe
  2. Escriba su guión como lo hace habitualmente, con acentos
  3. Elija Guardar como > Otros formatos
  4. Elija guardarlo como documento de texto MS-DOS (* .txt)
  5. Cambia la extensión de archivo de .txt a .bat

Estoy usando Notepad ++ y tiene una opción para cambiar "conjuntos de caracteres", OEM-US hizo el truco. ;)


También tuve el mismo problema. Intenté crear un archivo por lotes XCOPY simple para copiar una hoja de cálculo de una carpeta a otra. Su nombre tenía el carácter "é" y se negó a copiar.

Incluso intentar usar las sugerencias de Katalin y Metalcoder no funcionó en mi máquina neolítica de Windows XP. Entonces, de repente pensé: ¿por qué no mantener las cosas lo más simples posible (ya que soy muy simplón cuando se trata de computadoras) y simplemente sustituir, en el código del archivo por lotes, "é" con el carácter comodín "?".

¿Y adivina qué? ¡Funcionó!


Use Alt + 0164 para ¤ en lugar de Alt + 164 ñ en un archivo por lotes ... Parecerá extraño, pero su script debería ejecutarse.


Tuve el mismo problema, y esta respuesta lo resolvió. Básicamente, debe ajustar su secuencia de comandos con una serie de comandos para cambiar la página de códigos de su terminal y luego restaurarla.

@echo off for /f "tokens=2 delims=:." %%x in (''chcp'') do set cp=%%x chcp 1252>nul :: your stuff here :: chcp %cp%>nul

¡Trabajado como un encanto!