set 명령이 환경 변수 GUI보다 더 많은 환경 변수를 표시하는 이유는 무엇입니까?

set 명령이 환경 변수 GUI보다 더 많은 환경 변수를 표시하는 이유는 무엇입니까?

명령 프롬프트에서 명령 을 실행할 때 set표시되는 첫 번째 변수는 다음과 같습니다.

여기에 이미지 설명을 입력하세요

하지만 환경 변수 GUI를 열면 표시되지 않습니다.ALLUSERSPROFILE

여기에 이미지 설명을 입력하세요

여기에 이미지 설명을 입력하세요

왜 그런 겁니까? setGUI에는 표시되지 않는 수많은 다른 변수가 나열되어 있습니다 . 모두 동일한 정보를 표시하면 안 되나요?

답변1

약간의 시행착오 끝에 이러한 환경 변수가 SETWindows 8.1 시스템에서 보고된 추가 변수라는 것을 발견했습니다.

ALLUSERSPROFILE
APPDATA
COMPUTERNAME
CommonProgramFiles
CommonProgramFiles(x86)
CommonProgramW6432
HOMEDRIVE
HOMEPATH
LOCALAPPDATA
LOGONSERVER
PROMPT
PUBLIC
ProgramData
ProgramFiles
ProgramFiles(x86)
ProgramW6432
SESSIONNAME
SystemDrive
SystemRoot
USERDOMAIN
USERDOMAIN_ROAMINGPROFILE

나는 그것들이 모두 Windows에 의해 자동으로 생성되고 업데이트되는 것으로 생각합니다. 이것이 아마도 Windows 레지스트리 어디에서도 나열되어 있는 일부를 찾을 수 없는 이유일 것입니다.

나는 그것을 알고 있고 HOMEDRIVE, HOMEPATH그리고HOMESHARE자동으로 업데이트됨~에서이 TechNet 포럼 게시물.

나는 변수를 (기본값) 이외 PROMPT의 다른 것으로 영구적으로 변경하려고 시도 했으며 $P$GSETXPROMPT<username>에 대한 사용자 변수 환경 변수 GUI 섹션.

해당 변수를 삭제하면 프롬프트가 다시 $P$G. COMPUTERNAME환경 변수 에서도 동일한 동작을 발견했습니다 . 다음 경우에도 마찬가지입니다.

CommonProgramFiles
CommonProgramW6432
PROCESSOR_ARCHITECTURE
ProgramFiles
ProgramW6432

이것에 설명된 대로WOW64 구현 세부 사항에 대한 MSDN 문서.

답변2

에 따르면SS64.com(Autoexec.bat 섹션), 해당 변수는부팅 시간"32비트 GUI 프로그램에서는 사용할 수 없는" 변수입니다. Windows XP부터 부팅 시 환경 변수는 다음 위치의 레지스트리를 사용하여 설정해야 합니다.
HKEY_CURRENT_USER\Environment (USER 환경변수)또는:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment(시스템 환경 변수)
에 표시된 것처럼마이크로소프트의 KB

관련 정보