Como você origina novamente as variáveis de ambiente em um prompt de comando no Windows?

0

Em um bash shell, você pode editar suas variáveis de ambiente, executar source ./.bashrc e atualizar os valores das variáveis de ambiente em um shell já aberto. O Windows possui um comando semelhante que você pode executar para fazer isso a partir do prompt de comando?

(por exemplo, eu posso alterar a variável% PATH% do meu sistema nas propriedades do computador e, em seguida, desejar que minha janela cmd.exe existente atualize as variáveis de ambiente de lá.

    
por leeand00 28.06.2016 / 15:48

3 respostas

0

SET variable=string

Variável é a nova variável que você deseja criar (ou uma existente)

String é o que você deseja atribuir à variável

Example of storing a text string:

C:> SET _dept=Sales and Marketing

Fonte: link

NOTA: As alterações feitas com SET só permanecerão para a sessão CMD.

    
por 28.06.2016 / 16:05
0

Em uma janela do DOS, você pode enviar todas as suas variáveis de ambiente para um arquivo de lote e executá-las para alterar as variáveis pela duração da sessão:

C: \ temp > definir > newenv.bat

Clique de volta no Windows e puxe o arquivo newenv.bat para cima em seu editor favorito e exclua todas as variáveis, exceto aquelas que você deseja redefinir. Para os restantes, adicione a palavra 'set' no início da linha e reescreva tudo após o '=' com os novos valores.

Agora volte para a janela do DOS e execute o arquivo de lote:

C: \ temp > newenv

... e você verá cada linha redefinindo as variáveis para seus novos valores. Se você não quiser ver as linhas redefinidas, coloque 'echo off' no topo do arquivo .bat.

Isso deve funcionar para tudo, incluindo o PATH. Você pode manter esse arquivo à mão quando precisar recuperar o contexto do ambiente posteriormente.

Você também pode adicionar valores ao início ou ao final dos valores atuais usando% VARIABLE% no comando set. Por exemplo, para adicionar outro diretório de pesquisa ao caminho, você pode dizer: set PATH =% PATH%; c: \ bin e irá adicioná-lo ao final, deixando os valores atuais intactos.

Existem muitas outras ginastas que você pode realizar em variáveis de ambiente com o comando set, incluindo variáveis padrão% VAR% fornecidas por cmd, etc ... Tente digitar 'help set' no prompt do DOS para obter muitas informações sobre eles. A ideia básica, porém, é armazenar as alterações em um arquivo bat e executá-lo para evitar que você redigite as alterações repetidamente ...

    
por 28.06.2016 / 16:50
0

Não sei como alterar uma variável de ambiente na GUI do sistema e depois "aprendo" em um comando existente.

No entanto, não uso mais a GUI, pois posso definir variáveis de ambiente globais e locais na linha de comando. Nenhuma GUI precisou. Se você tem uma maneira de evitar sempre usar a GUI, talvez o seu problema se torne mais maleável?

A desvantagem é que existe um comando para definir a variável de ambiente global e outro para a janela de comando local. Eu não conheço uma maneira de obter os dois em um comando. Em vez disso, tenho um arquivo .BAT que usa meu nome e valor de variável como argumentos e define a variável de ambiente global e local ao mesmo tempo. A próxima janela de comando ou aplicativo GUI verá o novo valor. Eu não acho que rodar aplicativos GUI ou janelas de comando abertas outras irão, no entanto.

C:>SET_ENVVARS.BAT MYVAR MYVAL
SET %1=%2
CALL SETX %1 %2 /M

Você tem todas as limitações da linha de comando, como caracteres de escape e citações, mas na maioria das vezes isso funciona muito bem.

Meu arquivo .BAT tem alguns sinos e assobios, mas em seu núcleo, é isso.

Eu muito raramente tenho que usar a GUI.

Eu também ocasionalmente "despejo" minhas variáveis de ambiente com:

C:\>SET >MYVARS.TXT

Um pequeno smithing permitiria que você procurasse isso.

Não é uma solução rápida, mas eu invisto muito tempo na minha infraestrutura de arquivos .BAT e descubro que, a longo prazo, economizo mais tempo reformulando meu problema para corresponder à maneira como os arquivos .AT do Windows funcionam melhor. Além disso, às vezes eu recorro a C, por exemplo, para listar todos os elementos PATH, mas cada um em uma linha separada.

    
por 11.01.2017 / 13:10