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\Environment
no 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 SystemDrive
e SystemRoot
assim 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