Qual é a diferença entre% WinDir% e% SystemRoot%?

26

Qual é a diferença entre% Windir% e% Systemroot% no Windows Path Location?
Ambos mostram a localização da pasta "Windows".

    
por Amirreza Nasiri 29.08.2013 / 18:39

2 respostas

31

Para expandir a resposta do Sr. Dave, %SystemRoot% é uma variável incorporada (juntamente com um punhado de outras, como %SystemDrive% ). Ou seja, ele não está realmente definido no armazenamento de variáveis de ambiente em HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment no registro.

Por outro lado, %windir% é uma variável regular e é definida na variável store como %SystemRoot% . (Não existe uma variável "variável real" para %SystemDrive% .)

O que usar não importa realmente, mas você pode encontrar problemas com a expansão de variáveis em arquivos em lote; nesse caso, você pode experimentar o outro. (Eu não me lembro de ter problemas com isso especificamente, mas vale a pena ter em mente.)

Além disso, %SystemRoot% (e %SystemDrive% ) são definidos durante o processo de instalação (quando você escolhe a unidade de destino) e fica disponível desde o início quando o Windows está sendo instalado, enquanto %windir% é definido como Posteriormente, durante a instalação, se você estiver criando algum tipo de instalação personalizada (por exemplo, OEM, PE, etc.), será necessário usar %SystemRoot% .

    
por 29.08.2013 / 19:03
23

On Win 7 %SystemRoot% é uma variável de sistema somente leitura, enquanto %windir% pode ser alterado e é definido por padrão como windir=%SystemRoot% . O sistema operacional depende de %SystemRoot% . De acordo com Wikipedia , %WinDir% é pré-datado do Windows NT e parece ter sido substituído por %SystemRoot% .

    
por 29.08.2013 / 18:52