Tengo un problema de script por lotes de Windows que estoy criticando (sin juego de palabras). El guión problemática se ve así:Cómo establecer la ruta a otro valor de variable con espacios en el archivo de proceso por lotes de Windows
if defined _OLD_VIRTUAL_PATH (
set PATH=%_OLD_VIRTUAL_PATH%
)
Cuando lo ejecuto y _OLD_VIRTUAL_PATH
se establece consigo:
\Microsoft was unexpected at this time.
_OLD_VIRTUAL_PATH
es una variable que se estableció originalmente de PATH
y contiene espacios - Soy bastante seguro de que ese es el problema. Pero, ¿cuál es la solución? Funciona con éxito si lo encierro entre comillas, pero no creo que se suponga que el valor completo de la variable PATH
esté entre comillas.
Wow - Aprendí 2 cosas hoy ... Estaba seguro de que esta sintaxis explotaría, pero por supuesto, funciona. Sin embargo, no estoy seguro de por qué sería necesario para Evgeny: establecer un PATH con espacios nunca ha sido un problema para mí sin utilizar comillas. ¿Quizás el '_OLD_VIRTUAL_PATH' de Evgeny tenga algún otro carácter especial (que no sea un espacio) que necesite ser citado? –
@Michael: No son los espacios los que son el problema. Reescribí la publicación (espero que a Chris no le importe, puede retroceder si es necesario) y explica qué está mal y por qué. – Joey
Gracias Johannes, había olvidado el motivo, pero eso definitivamente tiene sentido. –