Come posso visualizzare il contenuto di una variabile d'ambiente dal prompt dei comandi in Windows 7?


477

In Windows 7, quando avvio il prompt dei comandi, esiste un comando per visualizzare il contenuto di una variabile di ambiente (come le variabili JAVA_HOMEo PATH)?

Ho provato con echo $PATH, echo PATHe $PATH, ma nessuno di questi lavori.


26
@Daniel: so come impostare le variabili d'ambiente in Windows, apro semplicemente "Proprietà del sistema"> "Avanzate" e "Variabili d'ambiente". Quindi non mi aspetto la risposta alla mia domanda in una domanda intitolata "Come posso impostare PATH e altre variabili d'ambiente?" , perché lo so! Sto Non chiedendo su come impostare loro.
Jonas,

In un certo senso hai ragione - come uno degli autori nell'altro argomento, non ho notato la formulazione esatta per molto tempo. Ho modificato quell'argomento per riflettere i suoi contenuti reali. Non cambierò il voto, sia perché non posso, sia perché sostengo la mia valutazione secondo cui questo argomento non mostra alcuno sforzo di ricerca.
Daniel Beck


2
echo %path:;=&echo.%ottiene la bella lista di percorsi separati da punto e virgola. Funziona se una variabile non contiene caratteri speciali come &o ^.
Andry,

1
il comando per stampare il percorso nella shell dei comandi di Windows è:path
Vyacheslav Lanovets

Risposte:


534

Nel prompt dei comandi di Windows la sintassi è echo %PATH%

Per ottenere un elenco di tutte le variabili di ambiente, immettere il comando set

Per inviare tali variabili a un file di testo, immettere il comando set > filename.txt


Relazionato


1
Perché questo valore è diverso da quello che ho specificato nelle proprietà del computer?
Johnny_D,

2
@Johnny_D È probabile che si disponga di una variabile con ambito utente o di una variabile con ambito sessione (l'utilizzo del setcomando all'interno di un prompt dei comandi non mantiene la modifica dopo aver chiuso la finestra della console) che la sovrascrive.
Scott Chamberlain,

@RedGrittyBrick, Come si differenziano quelli impostati in tutto il sistema rispetto a quelli che sono solo per l'utente corrente?
Pacerier,


119

Per completare la risposta precedente, se si utilizza Powershell echo %PATH%non funzionerebbe. È invece necessario utilizzare il comando seguente:echo $Env:PATH


15
Anche in PS: ls env:per elencare tutte le variabili d'ambiente
George Mauer

2
Poiché PowerShell è ora la shell predefinita nei moderni sistemi operativi Windows, questo deve essere votato più in alto. Troppe risposte là fuori che semplicemente non funzionano più su Windows moderno.
Lev

1
@Lev. Quale versione hai che non ha cmd?
Fisico pazzo,

quindi come si mostra una variabile se il suo nome contiene un punto? Come artifactory.user.name? echo $Env:artifactory.user.namenon funziona (l'evidenziazione suggerisce che tenta di mostrare la artifactoryvariabile)
YakovL

21

Come ulteriore informazione: mentre SET funziona con variabili globali o di sistema, a volte si desidera scrivere e leggere variabili utente, e questo viene fatto con il comando SETX . SETX è incluso nelle installazioni di base di Windows a partire da Vista, ma era anche disponibile in Windows XP installando il Resource Pack.

Una differenza su SETX è che non è possibile leggere la variabile nella stessa finestra di comando in cui è stata scritta. È necessario scrivere il comando SETX in una finestra di comando o Powershell, quindi aprire una nuova finestra per leggerla utilizzando ECHO.

SETX può anche scrivere variabili globali o di sistema.

Per impostare una variabile utente utilizzando SETX:

setx variable value

Per impostare una variabile globale o di sistema usando SETX:

setx /m variable value

Per leggere un utente o una variabile globale:

Ricorda, devi leggere una nuova finestra di comando o Powershell per leggere questa variabile.

echo %variable%

8

Da SET / ?:

SET P

visualizzerebbe tutte le variabili che iniziano con la lettera 'P'

Quindi, ad esempio, se vuoi trovare il valore della variabile d'ambiente% PATH%, puoi semplicemente digitare set path.

Questo è di 3 caratteri più corto di echo %PATH%, ma nota che elenca anche altre variabili che iniziano con "path" (es. PATHEXT).


3

La soluzione è stata un po 'diversa per me: non riconosce la variabile di ambiente di sistema JAVA_HOME, quindi ho dovuto impostare JAVA_HOMEcome variabile di ambiente utente, in modo da poter utilizzare% JAVA_HOME% nella configurazione della variabile di ambiente di sistema.

Riprendendo, ho dovuto:

-aggiungere una variabile d'ambiente utente: %JAVA_HOME%come:

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

-aggiungere alla %PATH%variabile di ambiente di sistema:

"%JAVA_HOME%\bin;"

-latter sulla riga di comando:

echo %JAVA_HOME%e ha recuperato il percorso corretto (prima che non lo riconoscesse); echo %PATH%e ha recuperato la "C: \ Programmi \ Java \ jdk1.8.0_25 \ bin" composta con la variabile utente% JAVA_HOME%;

E ha funzionato per me. Spero possa essere d'aiuto!!


2

Per visualizzare i contenuti di una variabile d'ambiente, ad es. percorso, al prompt dei comandi digitare: echo %path%
Per visualizzare i valori in righe separate, digitare: set
Per visualizzare tutte le variabili che iniziano con "h", digitare: set h
(Premere Invio dopo aver digitato per ottenere la risposta del computer, duh!)

I comandi sopra sono per cmd, non per PowerShell. In PowerShell, digitare: echo $env:pathoppure ls env:path
Per visualizzare su righe separate, digitare: ls env:
Per visualizzare tutte le variabili che iniziano con "h", digitare: ls env:h*
Per visualizzare i contenuti / i valori di tutte le variabili contenenti "java", digitare:ls env:*java*

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.