O que são, como alterar, criar e excluir Variáveis de Ambiente no Windows
As variáveis de ambiente são uma espécie de atalho visível por todo o sistema, onde o Windows e outros programas procuram por executáveis. Por exemplo: quando algum programa precisa o compilador do Java, pesquisa nessas variáveis por algum caminho que leve até o programa. Para isso, esse caminho precisa estar definido em alguma dessas variáveis de ambiente.
Variável PATH
O script de backup que construímos no artigo anterior está funcionando. Contudo, para poder chamá-lo, devemos estar com o terminal na mesma pasta onde o script se encontra. Seria interessante e até bem mais útil, se pudéssemos executá-lo de outros lugares também.
Vejamos como fazer para isso funcionar. Quando a gente executa algum comando no terminal, o Windows procura esse comando em lugares específicos. Pense que um dir ou cd, também são pequenos scripts e o sistema precisa encontrá-los para que funcionem, para isso, existem algumas variáveis que o Windows fica varrendo. Uma delas, onde se encontram os caminhos para pastas que contêm os scripts executáveis, é o famoso PATH.
Acessando a Variável PATH
O PATH é uma variável de ambiente e podemos imprimi-la digitando echo %PATH%
no terminal.

Repare que aparece um monte de caminhos de diretórios onde o Windows procura executáveis e scripts. Cada caminho está separado por um ponto e vírgula:
Alterando o PATH pelo Terminal
Para exemplificar uma alteração nessa variável, vamos adicionar o caminho da pasta onde se encontra o nosso script de backup que construimos no artigo anterior ao PATH
. Assim, o Windows também vai poder achar o nosso script. Essa pasta com os executáveis normalmente é chamada de bin
. Nem sempre é assim, mas a maioria dos projetos segue esse padrão.
Então vamos criar uma pasta bin
e jogar o nosso script lá dentro. Vá para a pasta do seu usuário, crie um diretório chamado bin
e mova seu script.bat
para dentro dele. Se estiver com dúvida nos comandos, veja este tutorial.
Ótimo!
Na sequência, iremos alterar a variável PATH
para adicionar o caminho do nosso novo diretório C:\Users\airton\bin
nela.
Se escrevermos somente set PATH=C:\Users\airton\bin
estaremos apagando todo o conteúdo da variável e atribuindo somente o caminho C:\Users\airton\bin
a ela. Não é isso que queremos!
O que precisamos de fato é manter o conteúdo já existente no PATH
e adicionar o caminho da nossa pasta ao final, separando-o por ponto e vírgula do resto.
Então digitamos set PATH=
, mandamos imprimir o conteúdo já existente (%PATH%
) e adicionamos o nosso caminho no final separado por ponto e vírgula. O comando completo está abaixo.
set PATH=%PATH%;C:\Users\airton\bin
Dessa forma alteramos a variável PATH
com o comando set
, baseado no PATH
existente adicionando o novo diretório C:\Users\airton\bin
, usando o caractere separador ;
. Será que funcionou? Podemos verificar isso facilmente imprimindo o PATH
na linha de comando:
echo %PATH%

Lá no final temos o nosso diretório, ou seja, na teoria, o Windows vai encontrar o nosso script. Faça o teste: saia da pasta onde está seu script digitando cd ..
por exemplo e execute-o novamente.
script.bat

Podemos comemorar porque o Windows encontrou o nosso script.
Alteração Permanente da Variável PATH
Parece tudo certo, mas experimente fechar e reabrir o terminal. Agora chame novamente o seu script.
Humm . . . Não funcionou :(

Infelizmente com o comando set
as mudanças feitas em nossas variáveis são apagadas quando fechamos o terminal. Para que a mudança seja duradoura, precisamos usar o comando setx
. Porém como este comando altera as variáveis do sistema permanentemente, ele é especial e o Prompt precisa ser executado como administrador para que a mudança seja permitida.
Abrir o Prompt no modo administrador é algo bem simples. Basta clicarmos com o botão direito do mouse e ir em Executar como administrador.

Neste ponto, recomendo a você fazer um backup da sua variável PATH
original, antes de começar a alterá-la, digitando:
echo %PATH% > backupPath.txt
Salve o arquivo em um local seguro. Assim, caso faça alguma modificação por engano, você conseguirá restaurá-la para sua versão que funcionava.
Agora sim, podemos fazer a nossa mudança. O comando setx
é praticamente igual ao set
, só que não tem o =
, separamos o caminho com aspas. Outro detalhe muito importante é adicionar o argumento /M
no final do setx
, para que a alteração seja feita em todo o sistema e não somente para o usuário atual.
setx PATH "%PATH%;C:\Users\airton.k\bin" /M

Obtivemos êxito! Nossa variável foi alterada. Agora nosso script pode ser chamado de qualquer lugar do Windows.
Pronto! Alteramos a variável PATH, mas existem muitas outras. Experimente digitar set
no terminal do Windows.

Este comando lista todas as variáveis. Repare que há variáveis que guardam o nome do computador, do usuário, da arquitetura do computador e muito mais. Até podemos criar novas variáveis.
Definindo uma Variável
Para criar uma variável própria, também utilizamos o comando set
, fazendo assim:
set PASTA_CODIGO=C:\Users\airton.k\codigo
Para visualizá-la, você pode digitar set
ou echo %PASTA_CODIGO%
;

Contudo, com o comando acima, quando o terminal for fechado, novamente a variável será esquecida. Para que ela seja criada de forma permanente, é preciso usar o setx
com o terminal em modo administrador.
setx PASTA_CODIGO "C:\Users\airton.k\codigo" /M
Repare que novamente não usamos o =
para atribuir o caminho, e sim, aspas duplas. O /M
indica que a alteração vai ser feita para todo o sistema e não apenas para o usuário atual.
RapidEE – Editor Gráfico de Variáveis de Ambiente
Manipulamos nossas variáveis através do Prompt de comando. Agora, quando você está editando o PATH, por exemplo, pode acontecer de inserir valores inválidos, em branco ou até duplicados e se o PATH for muito grande, é difícil detectar esse tipo de descuido, porque o terminal, por si só, não destaca essas informações.
Para isso, podemos usar um programa mais visual chamado RapidEE. Para fazer sua instalação, basta acessar o site http://www.rapidee.com/en/download e escolher a opção Download RapidEE_setup.exe
.

A instalação é bem simples, basta seguir o assistente.
O RapidEE é um editor de variáveis de ambiente, que usa a interface gráfica para exibir tanto as variáveis ambientes do sistema (lado esquerdo), quanto as variáveis ambientes do usuário (lado direito).
Com ele instalado, podemos fazer as operações como editar, modificar e criar novas variáveis através de sua interface.

Repare que inserimos várias vezes o mesmo caminho para a pasta bin
e que há um caminho vazio. Para removê-los, podemos clicar sobre a variável PATH, a fim de selecioná-la e, através de um clique com o botão direito do mouse, na barra de ferramentas de acesso rápido, escolher a opção Cleanup paths
, conforme mostrado abaixo.

As duplicatas e vazias foram eliminadas, mas ainda existe um caminho inválido, que pode ser removido através de um simples delete do teclado ou pela interface. Após as alterações, clique em salvar no canto superior esquerdo.

Criando Novas Variáveis com RapidEE
Criar uma variável no RapidEE é fácil, basta clicar em Add new variable
na barra de ferramentas, digitar o nome para a mesma e escolher um tipo entre String e Expandable string.
A diferença é que devemos usar Expanded String quando queremos usar uma variável que referencie outra, por exemplo, caso queiramos criar uma variável chamada PASTA_TEMP
, que tenha o valor %TEMP%
, referenciado o valor da variável TEMP.
Editando Variáveis com RapidEE
Para editar o valor de alguma variável, basta expandir seu conteúdo clicando no símbolo de + ao lado do nome dela, e dar um duplo clique no valor que desejamos alterar.

Adicionando novos valores
Para adicionar novos valores, clicamos com o botão direito na variável que queremos alterar e selecionamos a opção Add value....
Podemos escrever o caminho na mão, como fazíamos no Prompt, ou selecionar entre as opções Insert directory path...
e Insert file path...
, para inserir uma pasta ou um arquivo, respectivamente, através do sistema de janelas do Windows.
