Qual é a diferença entre% Windir% e% Systemroot% no local do caminho do Windows?
Ambos mostram o local da pasta "Windows".
Qual é a diferença entre% Windir% e% Systemroot% no local do caminho do Windows?
Ambos mostram o local da pasta "Windows".
Respostas:
Para expandir a resposta do Sr. Dave, %SystemRoot%é um built-in variável (junto com um pequeno punhado de outros gostam %SystemDrive%). Ou seja, ele não está realmente definido no armazenamento de variável de ambiente HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentno registro.
Por outro lado, %windir%é uma variável regular e é definida no armazenamento de variáveis como %SystemRoot%. (Não há contrapartida da “variável real” para %SystemDrive%.)
Qual usar realmente não importa, mas você pode ter problemas com a expansão variável em arquivos em lote; nesse caso, você pode tentar o outro. (Não me lembro de ter problemas com isso especificamente, mas vale a pena lembrar.)
Além disso, %SystemRoot%(e %SystemDrive%) são definidos durante o processo de instalação (quando você escolhe a unidade de destino) e, portanto, estão disponíveis desde o primeiro momento em que o Windows está sendo instalado, enquanto %windir%são definidos em um momento posterior durante a instalação, portanto, se você estiver criando alguns tipo de instalação personalizada (por exemplo, OEM, PE, etc.), você desejará usar %SystemRoot%.
%SystemRoot%. O Windows possui informações suficientes para definir SystemDrivee SystemRootassim que você escolher a unidade onde instalá-la (além disso, usará o padrão se você não modificar o destino). Ele define várias variáveis de ambiente padrão (incluindo windir) posteriormente na instalação quando inicializa o registro. Isso só importa se você estiver modificando o processo de instalação.
%windir%. Isso está correto?
No Win 7, %SystemRoot%é uma variável do sistema somente leitura enquanto %windir%pode ser alterada e é definida por padrão como windir=%SystemRoot%. O sistema operacional depende %SystemRoot%. Segundo a Wikipedia , %WinDir%antecede o Windows NT e parece ser substituído por %SystemRoot%.
fato divertido - (no Windows 10 1809)% windir% ainda é tão essencial que você não pode executar nada elevado sem ele ... o que significa que NÃO É POSSÍVEL RETIRAR DE VOLTA, pois o registro da variável de ambiente aparentemente requer elevação :( ... felizmente, o modo de segurança me permitiu restaurar essa variável e continuar andando