run make how from example create batch bat windows batch-file cmd

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 " " )