Definir y usar una variable en un archivo por lotes
Estoy intentando definir y usar una variable en un archivo por lotes. Parece que debería ser simple:
@echo off
set location = "bob"
echo We're working with "%location%"
El resultado que obtengo es el siguiente:
We're working with ""
¿Que está pasando aqui? ¿Por qué no se repite mi variable?
El espacio antes de se =
interpreta como parte del nombre y el espacio después (así como las comillas) se interpretan como parte del valor. Entonces se puede hacer referencia a la variable que ha creado con %location %
. Si eso no es lo que desea, elimine los espacios adicionales en la definición.
Los espacios son significativos. Creaste una variable nombrada 'location '
con un valor de
' "bob"'
. Nota: se agregaron comillas simples para mostrar la ubicación del espacio.
Si desea comillas en su valor, entonces su código debería verse así
set location="bob"
Si no quieres comillas, entonces tu código debería verse así
set location=bob
O mejor aún
set "location=bob"
La última sintaxis evita que entren espacios finales inadvertidos en el valor y también protege contra caracteres especiales como &
|
etc.
aportelocation.bat
@echo off
cls
set /p "location"="bob"
echo We're working with %location%
pause
producción
We're working with bob
(errores que cometiste: space
y " "
)