A variável de ambiente WINDIR é resolvida para% SystemRoot% e não C:\windows

A variável de ambiente WINDIR é resolvida para% SystemRoot% e não C:\windows

Há algum tempo, alterei manualmente a WINDIRvariável de ambiente para testar algo em um programa legado com o qual estava trabalhando (deveria ter feito isso em uma VM em vez de em minha área de trabalho:/mas agora é tarde demais)

Então, por algum motivo, agora %WINDIR%não resolve mais para c:\windows, mas para% SystemRoot%. Na linha de comando:

echo %WINDIR% outputs %SystemRoot%

e

echo %SystemRoot% outputs C:\windows

Não ser capaz de resolver o WINDIR está me causando todo tipo de dor de cabeça. Tentei definir o valor WINDIRexplicitamente para c:\windowsnaquele console que o Windows fornece, mas sem sucesso. Também tentei alterar manualmente o valor da chave de registro windir em

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\windier

e

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment\windir

Mas ainda sem sorte. Alguém já viu esse comportamento antes?

esqueci de mencionar que isso está no Windows 7 Enterprise ed

Responder1

Por favor, verifique o tipo do valor que você tem como Windir. Você provavelmente mudou inadvertidamente de REG_EXPAND_SZpara REG_SZ. Você tem que fazer isso diretamente no registro (os painéis GUI não mostrarão a diferença):

Inicie o editor do Registro, navegue até HKEY_LOCAL_MACHINE\system\currentControlSet\Control\Session Manager\Environment.
Verifique se windirtem um tipo de REG_EXPAND_SZ.
Caso contrário, recrie a entrada para ser: windir REG_EXPAND_SZ %SystemRoot%

Faça logoff/logon e verifique se funciona

Responder2

Correção!%SystemRoot%é o valor padrão. Portanto, esta variável está definida corretamente em seu sistema.

insira a descrição da imagem aqui

Clique com o botão direito emComputador - Configurações - Configurações avançadas do sistema - Avançado - Variáveis ​​de ambiente. Na segunda parte dessa janela (em Variáveis ​​de Ambiente) você pode encontrar sua variávelventoapontando para%systemroot%. Mude para%SystemRoot%, que é o valor padrão e teste se ainda ocorrer erros.

informação relacionada