Como posso exibir o conteúdo de uma variável de ambiente no prompt de comando do Windows 7?

477

No Windows 7, quando eu iniciar o prompt de comando, não há qualquer comando para exibir o conteúdo de uma variável de ambiente (como o JAVA_HOMEou PATHvariáveis)?

Eu tentei com echo $PATH, echo PATHe $PATH, mas nenhum desses trabalhos.

Jonas
fonte
26
@ Daniel: Eu sei como definir variáveis ​​de ambiente no Windows, basta abrir "Propriedades do sistema"> "Avançado" e "Variáveis ​​de ambiente". Portanto, não espero a resposta para minha pergunta em uma pergunta intitulada "Como defino PATH e outras variáveis ​​de ambiente?" , porque eu sei disso! Estou não perguntando sobre como configurá-los.
Jonas
De certa forma, você está certo - como um dos autores do outro tópico, na verdade, não vejo a redação exata há muito tempo. Eu editei esse tópico para refletir seu conteúdo real. Porém, não vou mudar a votação, tanto porque não posso, como porque sustento minha avaliação de que este tópico não mostra nenhum esforço de pesquisa.
Daniel Beck
Talvez seja relevante: stackoverflow.com/questions/1884071/…
Technophile
2
echo %path:;=&echo.%obtém a bonita lista de caminhos separados por ponto e vírgula. Funciona se uma variável não contém caracteres especiais como &ou ^.
Andry
1
o comando para imprimir o caminho no shell de comando do Windows é:path
Vyacheslav Lanovets

Respostas:

534

No prompt de comando do Windows, a sintaxe é echo %PATH%

Para obter uma lista de todas as variáveis ​​de ambiente, insira o comando set

Para enviar essas variáveis ​​para um arquivo de texto, digite o comando set > filename.txt


Relacionado

RedGrittyBrick
fonte
1
Por que esse valor é diferente do especificado nas propriedades do computador?
Johnny_D
2
@Johnny_D É provável que você tenha uma variável com escopo no usuário ou uma variável com escopo na sessão (o uso do setcomando dentro de um prompt de comandos não mantém a alteração depois que você fecha a janela do console) que a está substituindo.
Scott Chamberlain
@RedGrittyBrick, Como você diferencia os configurados em todo o sistema daqueles que são apenas para o usuário atual?
Pacerier 16/02
@Pacerier, isso seria uma pergunta à parte #
RedGrittyBrick 16/02
119

Para complementar a resposta anterior, se você estiver usando o Powershell echo %PATH%, não funcionará. Você precisa usar o seguinte comando:echo $Env:PATH

Gerard Yin
fonte
15
Também em PS: ls env:para listar todas as variáveis de ambiente
George Mauer
2
Como o PowerShell agora é o shell padrão nos sistemas operacionais modernos do Windows, isso precisa ser votado mais alto. Muitas respostas por aí que simplesmente não funcionam mais no Windows moderno.
Lev
1
@Lev. Qual versão você tem que não possui cmd?
Físico Louco
Então, como mostrar uma variável se o nome contiver um ponto? Gosta artifactory.user.name? echo $Env:artifactory.user.namenão funciona (o destaque sugere que ele tenta mostrar a artifactoryvariável)
YakovL
21

Como uma informação adicional: Enquanto o SET trabalha com variáveis ​​globais ou do sistema, às vezes você deseja escrever e ler variáveis ​​do Usuário, e isso é feito com o comando SETX . O SETX está incluído nas instalações básicas do Windows, começando com o Vista, mas também estava disponível no Windows XP, instalando o Resource Pack.

Uma diferença sobre o SETX, porém, é que você não pode ler a variável na mesma janela de comando em que a gravou. É necessário gravar o comando SETX em uma janela de Comando ou Powershell e abrir uma nova janela para lê-la usando o ECHO.

O SETX também pode escrever variáveis ​​globais ou do sistema.

Para definir uma variável de usuário usando SETX:

setx variable value

Para definir uma variável global ou do sistema usando SETX:

setx /m variable value

Para ler um usuário ou variável global:

Lembre-se, você deve abrir uma nova janela Command ou Powershell para ler esta variável.

echo %variable%
music2myear
fonte
8

Em SET / ?:

SET P

exibirá todas as variáveis ​​que começam com a letra 'P'

Por exemplo, se você deseja encontrar o valor da variável de ambiente% PATH%, basta digitar set path.

São 3 caracteres menores que echo %PATH%, mas observe que ele também lista outras variáveis ​​começando com "caminho" (por exemplo, PATHEXT).

AXO
fonte
3

A solução foi um pouco diferente para mim: ela não reconhece a variável de ambiente do sistema JAVA_HOME, por isso tive que definir JAVA_HOMEcomo variável de ambiente Usuário, para poder usar% JAVA_HOME% na configuração da variável de ambiente do sistema.

Resumindo, eu tive que:

-adicione uma variável de ambiente do usuário: %JAVA_HOME%as:

"C:\Program Files\Java\jdk1.8.0_25";

-adicionar à %PATH%variável de ambiente do sistema:

"%JAVA_HOME%\bin;"

-latter na linha de comando:

echo %JAVA_HOME%, e recuperou o caminho correto (antes de não reconhecer); echo %PATH%e recuperou o "C: \ Arquivos de Programas \ Java \ jdk1.8.0_25 \ bin" composto pela variável de usuário% JAVA_HOME%;

E funcionou para mim. Espero que ajude!!

JoaoPT
fonte
2

Para exibir o conteúdo de uma variável de ambiente, por exemplo. path, no prompt de comando, digite: echo %path%
Para exibir os valores em linhas separadas, digite: set
Para exibir todas as variáveis ​​iniciadas por "h", digite: set h
(Pressione enter após digitar para obter resposta do computador, duh!)

Os comandos acima são para cmd, não para PowerShell. No PowerShell, digite: echo $env:pathou ls env:path
Para exibir em linhas separadas, digite: ls env:
Para exibir todas as variáveis ​​iniciadas com "h", digite: ls env:h*
Para exibir o conteúdo / valores de todas as variáveis ​​que contêm "java", digite:ls env:*java*

Zimba
fonte