¿Por qué el comando set muestra más variables de entorno que la interfaz gráfica de usuario de variables de entorno?

¿Por qué el comando set muestra más variables de entorno que la interfaz gráfica de usuario de variables de entorno?

Cuando ejecuto el setcomando en el símbolo del sistema, la primera variable que veo es

ingrese la descripción de la imagen aquí

Pero cuando abro mi GUI de variables de entorno no veoALLUSERSPROFILE

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

¿Porqué es eso? Hay muchas otras variables enumeradas setque tampoco aparecen en la GUI. ¿No deberían todos mostrar la misma información?

Respuesta1

Después de un poco de prueba y error, descubrí que estas variables de entorno son las adicionales que reporta SETmi sistema Windows 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

Sospecho que Windows los genera y actualiza todos automáticamente, razón por la cual probablemente no pude encontrar algunos de ellos en ninguna parte del Registro de Windows.

Lo sé y lo soy HOMEDRIVE.HOMEPATHHOMESHAREactualizado automáticamentedeesta publicación en los foros de TechNet.

Intenté cambiar permanentemente la PROMPTvariable a algo distinto de $P$G(que es el valor predeterminado) usando SETXy noté que creaba una nueva PROMPTvariable de entorno en elVariables de usuario para <nombre de usuario> sección en la GUI de variables de entorno.

Al eliminar esa variable, mi mensaje se restableció a $P$G. Noté el mismo comportamiento con COMPUTERNAMEla variable de entorno. Lo mismo va para:

CommonProgramFiles
CommonProgramW6432
PROCESSOR_ARCHITECTURE
ProgramFiles
ProgramW6432

como se explica en esteArtículo de MSDN sobre los detalles de implementación de WOW64.

Respuesta2

De acuerdo aSS64.com(sección Autoexec.bat), esas variables pueden sertiempo de arranquevariables, que "no están disponibles para programas GUI de 32 bits". Desde Windows XP, las variables de entorno de arranque deben configurarse con el registro en:
HKEY_CURRENT_USER\Environment (variables de entorno USUARIO)o:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment(variables de entorno del SISTEMA)
como se muestra enKB de Microsoft

información relacionada