Variáveis de Ambiente do 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 acioná-lo de outros lugares também. Não acha?

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 os encontrar para que funcionem, para isso, existem alguns caminhos padrões que o Windows fica varrendo. Um deles, onde se encontram os caminhos para os scripts, é o famoso PATH.

Acessando a Variável PATH

O PATH é uma variável de ambiente e podemos imprimi-la digitando echo %PATH% no terminal.

Variável PATH impressa no terminal do Windows.

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

A nossa tarefa é adicionar o caminho da pasta onde se encontra o nosso script de backup do artigo anterior no 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!

Agora respire fundo, pois iremos alterar a variável PATH para adicionar o nosso novo diretório C:\Users\airton.k\bin.

Se escrevermos somente set PATH=C:\Users\airton.k\bin estaremos apagando todo o conteúdo da variável e atribuindo somente o caminho C:\Users\airton.k\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.k\bin

Alteramos a variável PATH com o comando set, baseado no PATH existente adicionando o novo diretório C:\Users\airton.k\bin, usando o caractere separador ;. Será que funcionou? Podemos verificar isso facilmente imprimindo o PATH na linha de comando:

echo %PATH%
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\airton.k\AppData\Local\Microsoft\WindowsApps;C:\Program Files\PuTTY\;C:\cygwin\bin;C:\Users\airton.k\AppData\Local\Microsoft\WindowsApps;C:\Users\airton.k\bin

Lá no final temos o nosso diretório, ou seja, na teoria, o Windows vai encontrar o nosso script. Façamos o teste:

script.bat
Execução de arquivo em lote no terminal do Windows.

Podemos comemorar porque o Windows encontrou o nosso script!!

Alteração Permanente de Variáveis

Parece tudo certo, mas faça um teste. Experimente fechar e reabrir o terminal. Agora chame novamente o seu script

Humm... Não funcionou :(

Chamando a execução de arquivo em lote no terminal do Windows

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.

Executando Prompt de comando Windows em modo 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
Alteração permanente da variável PATH pelo terminal do Windows.

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.

Variáveis de ambiente 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, e veremos que algumas plataformas de desenvolvimento (por exemplo Java) exigem a criação de variáveis próprias.

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%;

Criando variável de ambiente pelo terminal do Windows.

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.

Download pacote RapidEE.

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.

Tela inicial RapidEE - editor de variáveis de ambiente.

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.

Eliminando caminhos duplicadas no editor de variáveis de ambiente RapidEE.

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.

Eliminando caminhos inválidos no editor de variáveis de ambiente RapidEE.

Criando Novas Variáveis

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

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.

Editando variável de ambiente no RapidEE.

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.

Adicionando novos valores à variável de ambiente no RapidEE.
Ir para o topo