como definir temporário prompt de comando do windows variável como bash?


0

No Bash eu posso criar TEMPORÁRIO variáveis ​​de ambiente em uma linha de comando. Por exemplo

DEBUG=foo somecommand

Isso define a variável de ambiente DEBUG mas apenas para somecommand. Quando a linha terminar DEBUG não está mais definido.

Posso fazer algo semelhante no processador de comandos do Windows?

Nota: Usando SET não funciona. Isso define o ambiente atual dos processadores de comandos, não apenas o comando prestes a ser executado.

Para dar outro exemplo, aqui está um pequeno programa node.js que imprime o valor de uma única variável de ambiente

// test.js
console.log(`${process.argv[2]}='${process.env[process.argv[2]]}'`);

Vamos executá-lo no bash

$ export FOO=abc
$ node test.js FOO
FOO='abc'

Então vamos executá-lo com uma configuração temporária

$ FOO=def node test.js FOO
FOO='def'

Verifique se o FOO ainda é abc

$ echo $FOO
abc

Como posso realizar a mesma coisa no prompt de comando do Windows?

Uma maneira parece ser relançar o processador de comandos como em

cmd /S /C "set "FOO=def" & node test.js FOO"

Existe outra maneira ou é isso?


"Existe outra maneira ou é isso?" Eu acho que é o único caminho. set foo=bar && echo %foo% && set foo= && echo %foo% não funciona :(
DavidPostill
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.