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

6

Algum tempo atrás eu alterei manualmente a variável de ambiente WINDIR para testar algo em um programa legado com o qual eu estava trabalhando (deveria ter feito isso em uma VM em vez da minha área de trabalho: / mas agora é muito tarde)

Portanto, 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 conseguir resolver o WINDIR está me causando todos os tipos de dor de cabeça. Eu tentei definir o valor de WINDIR explicitamente como c:\windows nas janelas do console, mas sem sucesso. Eu 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 não tem sorte. Alguém já viu esse comportamento antes?

esqueci de mencionar isso no windows 7 Enterprise ed

    
por prayingpantis 19.09.2012 / 12:54

2 respostas

6

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

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

Efetue logoff / logon e verifique se funciona

    
por 19.09.2012 / 15:49
2

Correção! %SystemRoot% é o valor padrão . Então esta variável está correta no seu sistema.

Clique com o botão direito em Computador - Configurações - Configurações avançadas do sistema - Avançado - Variáveis ambientais . Na segunda parte dessa janela (em Variáveis Ambientais) você pode encontrar sua variável windir apontando para %systemroot% . Altere para %SystemRoot% , que é o valor padrão e teste se você ainda tiver erros.

    
por 19.09.2012 / 13:43