windows - make - run bat file console
Declarar y usar una variable en el archivo por lotes de Windows(.BAT) (3)
Estoy tratando de declarar y usar una variable en mi archivo por lotes. Parece que debería ser simple.
@ECHO OFF
SET location = "bob"
ECHO We''re working with "%location%"
La salida que obtengo es:
We''re working with ""
¿Que está pasando aqui? ¿Por qué no se hace eco de mi variable?
El espacio antes de =
se interpreta como parte del nombre, y el espacio después de él (así como las comillas) se interpretan como parte del valor. Por lo tanto, 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. Creó una variable denominada (entre comillas simples agregadas para mostrar la ubicación del espacio) ''location ''
con un valor de '' "bob"''
.
Si desea cotizaciones en su valor, entonces su código debería verse como
set location="bob"
Si no quieres citas, entonces tu código debería verse como
set location=bob
O mejor aún
set "location=bob"
La última sintaxis evita que los espacios involuntarios entren en el valor y también protege contra caracteres especiales como & | etc.
ingresar location.bat
@echo off
cls
set /p "location"="bob"
echo We''re working with %location%
pause
salida
We''re working with bob
(errores que has hecho: space
y " "
)