¿Por qué el comando set no afecta a los comandos seguidos inmediatamente con & / &&?

1

Tengo un montón de comandos que usan una variable del sistema y son comandos de una línea como:

set test="blah" && echo %test%

Sin embargo, noté que la variable del comando set no está "establecida" para los comandos en la misma línea. Si vuelvo a ejecutar el segundo comando, podrá leer la variable actualizada. Puedo usar cualquiera de los dos & amp; o & amp; & amp; Y los efectos son los mismos. Este comportamiento se produce con ambos archivos de proceso por lotes y simplemente lo coloca en el símbolo del sistema.

Como consigo el set comando para afectar a las declaraciones siguientes & o &&?

Nelson
fuente

Respuestas:

1

Esto se debe a que toda la línea de comandos se evalúa a la vez, por lo que la variable test se resuelve antes de ejecutar el set mando.

Una solución fácil podría ser colocar los comandos en líneas separadas en un archivo por lotes y ejecutar eso.

abstrask
fuente