¿Qué causa una barra diagonal antes de la variable en una declaración IF en un lote de Windows?

¿Qué causa una barra diagonal antes de la variable en una declaración IF en un lote de Windows?

Tengo que adaptar un script por lotes antiguo y hay un /delante del nombre de la variable en muchos ifcomandos.

if /%error_found% == /0 (
  ...
)

¿Cuál es la diferencia si se usa la barra o no? La declaración me funciona incluso sin barra.

if %error_found% == 0 (
  ...
)

¿Hay casos en los que la barra diagonal marca la diferencia?

Respuesta1

Me parece un error de sintaxis en la comparación de cadenas que debería haber sido:
/%error_found%/ == /0/.

Una mejor sintaxis usaría comillas:
"%error_found%" == "0"
o paréntesis
(%error_found%) GEQ (0):.

Su sintaxis de %error_found% == 0solo funcionará si %error_found% no contiene un espacio en blanco y no está vacía.

Para más información consulte el comando SI.

información relacionada