O Windows7 (+) possui o env ou equivalente? (Variável Env. Para execução única de aplicativo) [duplicado]

0

Estou procurando uma oportunidade para lançar um aplicativo (por exemplo, compiladores) com variáveis de ambiente específicas. Eu quero a mesma funcionalidade como env no Linux. env var=value application.exe

Eu encontrei Configurando a variável de ambiente por apenas um comando no Windows cmd.exe , mas não satisfeito com a decisão. (porque tem muito caráter na escrita que você pode cometer um erro)

Algo mudou a partir do ano de 2010? Eu ficaria feliz nem com soluções embutidas.

    
por Red Skotina 21.05.2016 / 16:55

1 resposta

0

env var=value application.exe

é possível. Escreva o seguinte script em lote, nomeie-o em env.bat e coloque-o em algum lugar em um diretório da sua variável PATH . Por favor, leia os argumentos Linha de Comando (Parâmetros) e setlocal artigos para maiores explicações.

Script

env.bat :

@setlocal
@set "%~1=%~2"
@%3

O script acima aplica-se ao comando simples fornecido, mas requer um pouco de preparação para aceitar parâmetros de linha como env var=value application.exe action input output etc.

Antes da edição :

set var=value&application.exe&set var=

i.e. set variable, em seguida, executa um aplicativo console e, em seguida, remove a variável.

Outra abordagem:

cmd /C "set var=value&application.exe"

i.e. iniciar uma nova instância do interpretador de comandos do Windows e dentro dela definir a variável e, em seguida, executar um console aplicativo; para /C mudar significado ver cmd /? :

/C      Carries out the command specified by string and then terminates

Aqui & ampersand deve ser escapou em o comando especificado . Você pode escolher qualquer:

cmd /C "set var=value&application.exe"

ou

cmd /C set var=value^&application.exe

Observe também o espaçamento adequado:

                       ↓ allowed space                    
cmd /C "set var=value & application.exe"
                     ↑  this is harmful space as "%var%" would be "value " then
                                                    note trailing space ↑
    
por 21.05.2016 / 22:42