Caracteres de escape de la línea de comandos de Windows

Caracteres de escape de la línea de comandos de Windows

En pocas palabras: recibimos un comando de un script y queremos ejecutarlo usando el shell de Windows.

Actualmente utilizamos un método similar a:

echo start & command & echo finish

Eso funciona bien a menos que el comando contenga símbolos de unión por sí solos, así por ejemplo

echo begin & if exist c:\temp.txt echo 1 & echo endno podrá escribir "fin" si el archivo no existe.

Eso se puede solucionar cambiando el comando a echo begin & (if exist c:\temp.txt echo 1) & echo end, pero luego nos encontramos con problemas con los comandos que contienen símbolos entre paréntesis, por ejemplo.

echo begin & (echo %PATH%) & echo endimprime "\Hewlett-Packard\HP fue inesperado en este momento". porque tengo Archivos de programa (x86) en la ruta.

¿Alguna forma de escapar de los caracteres especiales del resultado del comando?

gracias de antemano

Respuesta1

El problema son los espacios en la RUTA, así que usa comillas.

  echo begin & (echo "%PATH%") & echo end

información relacionada