Quando executo o set
comando no prompt de comando, a primeira variável que vejo é
Mas quando abro minha GUI de variáveis de ambiente, não vejoALLUSERSPROFILE
Por que é que? Existem inúmeras outras variáveis listadas set
que também não aparecem na GUI. Todos eles não deveriam mostrar as mesmas informações?
Responder1
Depois de algumas tentativas e erros, descobri que essas variáveis de ambiente são as adicionais relatadas SET
em meu 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
Suspeito que todos eles sejam gerados e atualizados automaticamente pelo Windows, provavelmente por isso não consegui encontrar alguns deles listados em nenhum lugar do Registro do Windows.
Eu sei disso HOMEDRIVE
e HOMEPATH
estouHOMESHARE
atualizado automaticamentedeesta postagem nos fóruns do TechNet.
Tentei alterar permanentemente a PROMPT
variável para algo diferente de
$P$G
(que é o padrão) usando SETX
e notei que ela criou uma nova
PROMPT
variável de ambiente noVariáveis de usuário para <nomedeusuário>
seção na GUI de variáveis de ambiente.
Ao excluir essa variável, meu prompt foi redefinido para $P$G
. Notei o mesmo comportamento com COMPUTERNAME
a variável de ambiente. O mesmo vale para:
CommonProgramFiles
CommonProgramW6432
PROCESSOR_ARCHITECTURE
ProgramFiles
ProgramW6432
como explicado nesteArtigo do MSDN sobre detalhes de implementação do WOW64.
Responder2
De acordo comSS64.com(seção Autoexec.bat), essas variáveis podem sertempo de inicializaçãovariáveis, que "não estão disponíveis para programas GUI de 32 bits". Desde o Windows XP, as variáveis de ambiente de inicialização devem ser definidas com o registro em:
HKEY_CURRENT_USER\Environment
(variáveis de ambiente do USUÁRIO)ou:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
(variáveis de ambiente do SISTEMA)
como mostrado emKB da Microsoft