Eu tenho vários comandos usando uma variável de sistema e eles são comandos alinhados como este:
set test="blah" && echo %test%
Porém, percebi que a variável do comando set não está "definida" para os comandos da mesma linha. Se eu executar novamente o segundo comando, ele poderá ler a variável atualizada. Posso usar & ou && e os efeitos são os mesmos. Esse comportamento ocorre tanto com arquivos em lote quanto simplesmente colocando-os no prompt de comando.
Como faço para que o set
comando afete as instruções a seguir &
ou &&
?
Responder1
Isso ocorre porque toda a linha de comando é avaliada de uma só vez, portanto a variável test
é resolvida antes de você executar o set
comando.
Uma solução fácil poderia ser colocar os comandos em linhas separadas em arquivos em lote e executá-los.