명령 행에서 모든 환경 변수를 나열하십시오.


932

Windows 명령 프롬프트에서 모든 환경 변수 를 나열 할 수 있습니까?

PowerShell gci env:(또는 ls env:또는 dir env:)에 해당합니다.


1
누군가 PowerShell 솔루션을 공유 할 수 있습니까? 미래가 될 것입니다. 권리?
Bruno Bronosky

1
@BrunoBronosky PS 솔루션은이 질문에 포함되어 있으며 반복되는 답변도 있습니다. =)
Jon

각각에 대한 설명은 ss64.com/nt/syntax-variables.html
Samuel Harmer

답변:


1352

그냥 해:

SET

SET prefix이름이로 시작하는 모든 변수를 볼 수도 있습니다 prefix.

예를 들어 환경 변수에서 derbydb 만 읽으려면 다음을 수행하십시오.

set derby 

... 그리고 당신은 다음을 얻을 것입니다 :

DERBY_HOME=c:\Users\amro-a\Desktop\db-derby-10.10.1.1-bin\db-derby-10.10.1.1-bin

7
이것은 나에게 이름을 묻는다?
CMCDragonkai

53
@KevinMeredith : Windows 셸의 모든 명령은 대소 문자를 구분하지 않습니다.
Jon

12
@CMCDragonkai 파워 쉘을 사용하고 있습니까? 커맨드 렛 중 하나를 사용하여 설정 한 것으로 보입니다. 이것은 덜 유용한 기능 중 하나입니다! 나는이를 사용하지 않도록 설정하는 방법에 대한 질문 물었다 여기
JonnyRaa

2
누군가 PowerShell 솔루션을 포함하도록 이것을 업데이트 할 수 있습니까? 미래가 될 것입니다. 권리?
Bruno Bronosky

3
@NickTimmer Windows 쉘 대신 bash와 대화하고 있기 때문에 이것은 잘못된 질문 / 답변입니다. 을보십시오 printenv.
Jon

167

Jon은 정답을 가지고 있지만 약간의 구문 설탕으로 좀 더 정교하게 만들었습니다.

SET | more

전체 로트가 아니라 한 번에 한 페이지 씩 변수를 볼 수 있습니다. 또는

SET > output.txt

메모장 이나 다른 곳 에서 열 수있는 output.txt 파일로 출력을 보냅니다 ...


7
나는 moreWindows에 존재하는 것을 전혀 몰랐다 , +1
ardnew

실제로 일부 기능에도 내장되어 있습니다. 예를 들어 Dir은 / p와 함께 페이징됩니다.
John Lord

@ardnew : 이제 당신은 더 많이 알고있다 ;-)
user2943111

106

PowerShell에서 모든 환경 변수를 나열하려면 다음을 수행하십시오.

Get-ChildItem Env:

또는 출력 잘림을 피하기 위해 user797717에서 제안한대로 :

Get-ChildItem Env: | Format-Table -Wrap -AutoSize

출처 : 환경 변수 만들기 및 수정 ( Windows PowerShell의 요일 )


4
PowerShell이 ​​모든 cmd 명령에서 작동하지 않기 때문에 PowerShell을 사용하지 않더라도 큰 노력없이 예쁜 인쇄 (2 열)에 대한 유일한 솔루션입니다. cmd에서 동일한 동작을 달성하려면 for /f "tokens=1,2 delims==" ...매우 복잡 해지는 이와 같은 것이 필요합니다 .
ROMANIA_engineer

6
출력이 잘리지 않도록 다음을 사용합니다.Get-ChildItem Env: | Format-Table -Wrap -AutoSize
user797717

1
gci env:대신 Get-ChildItem Env:, 쉽게 기억하기
맷슨 kepson

완전한! 왜 이것이 정직한 답이 아닌지 모르겠습니다. Commandprompt : D
Yoeri Van Nieuwerburg

79

set에서 실행하십시오 cmd.

환경 변수를 표시, 설정 또는 제거합니다. 매개 변수없이 사용하면 set은 현재 환경 설정을 표시합니다.


11

SETcmd에서 사용할 수 있습니다

현재 변수를 표시하려면 SET충분합니다.

'PATH'와 같은 특정 변수를 표시하려면을 사용하십시오 SET PATH.

도움이 필요하면을 입력하십시오 set /?.


2
기존 답변과 다른 점은 무엇입니까?
피터 Mortensen

7

시간을 잃지 마십시오. 레지스트리에서 검색하십시오.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

SET 명령보다 작은 값을 반환합니다.


2
사실 일 수도 있지만 레지스트리 쿼리가 확장되지 않은 REG_EXPAND_SZ키를 반환한다는 점이 다릅니다 . 예를 들어 reg query "HKCU\Environment"%TEMP%변수가의 값에 의존 한다는 것을 보여 %USERPROFILE%주므로 해당 값이 변경되면의 값도 변경됩니다 %TEMP%. 대조적으로, SET그냥 반환"C:\Users\mpag\AppData\Local\Temp"
mpag

1
왜 "시간을 잃지 말라"고 말합니까? "reg query ..."보다 명령 프롬프트에 "set"을 쓰지 않습니까?
Alexandre Huat

4

방금 설정 한 환경 변수를 보려면 새 명령 창을 열어야합니다.

setx 변수로 설정된 변수는 현재 명령 창이 아닌 향후 명령 창에서만 사용할 수 있습니다. ( Setx, 예제 )


4

다른 답변에서 언급했듯이 set모든 환경 변수를 나열하거나 사용할 수 있습니다

set [environment_variable] 값이있는 특정 변수를 가져옵니다.

set [environment_variable]= 작업 공간에서 변수를 제거하는 데 사용할 수 있습니다.


1
예, 그러나 이것은 어떻게 질문에 대답합니까?
피터 Mortensen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.