Questão PATH do Windows 7 e variáveis ​​de ambiente estão corrompidas


Eu não tenho idéia, mas ultimamente eu tenho tido esse problema. Depois de executar minha estação de trabalho, de repente, algo destrói o PATH e muitas coisas param de funcionar. Inicialmente, o meu caminho tinha muitos diretórios listados (eu uso o Windows 7 como uma caixa de desenvolvimento) e depois de algum tempo, eu só tinha 3-4 diretórios listados no meu caminho à esquerda.

Não consigo nem abrir a caixa de diálogo Propriedades do sistema, onde posso ver as variáveis ​​de ambiente (porque ela usa as variáveis ​​do shell para iniciá-lo e não funciona). Em resumo, eu reinicio todas as vezes.

Alguma idéia do que poderia causar esse problema? Eu não corri nada de novo / incomum ultimamente. Apenas VmWare (mas eu tenho usado no passado e não tive esse problema naquela época).

Acabei de conferir, mesmo %WINDIR% não está definido. WTF ?!


96


origem


Eu recentemente tive o mesmo problema na minha caixa Vista de 64 bits. Sem causa óbvia, se eu abrir um novo prompt de comando, a variável de caminho será definida para a parte do caminho definida em "Variáveis ​​do usuário". A parte "Variáveis ​​do sistema" do caminho está ausente. Algumas, mas nem todas as variáveis ​​do sistema são indefinidas. O registro parece OK e tudo parece OK na caixa de diálogo Propriedades do sistema (usando "c: \ windows \ system32 \ systempropertiesadvanced.exe"). Após a reinicialização, o sistema funciona normalmente. Problema ocorre novamente a cada poucos dias. Uma verificação completa de vírus não encontrou nada. - Lee
Eu tive o mesmo problema. Eu encontrei algumas coisas diferentes que o desencadearam (executando certos programas, executando instaladores, etc.), mas não houve razão para isso (eles funcionam bem em outras máquinas ou em uma VM). Eventualmente, tive outros problemas que agravaram a necessidade de reinstalação. que consertou tudo. - Jim McKeeth
meu caminho era longo demais. Eu removi duplicatas, removi entradas inúteis e o problema desapareceu. - Pavel


Respostas:


A partir de meu blog

Bottom line, se sua variável de ambiente PATH for maior que 2048   caracteres ele (e WINDIR) deixam de ser visíveis em muitos contextos.

Eu consertei executando manualmente   c: \ windows \ system32 \ systempropertiesadvanced.exe e excluindo um   entrada do meu PATH para me colocar abaixo de 2048 caracteres. Novas janelas do cmd funcionam   bem.

Atualização: isto pergunta semelhante reivindicações 2047 é o máximo e elabora regras de expansão


127



Foi assim que consertei o problema. Verifiquei manualmente o caminho, diminuí o tempo e o problema desapareceu. - Pavel
Trabalhou para mim. Obrigado! - Jonathan DeCarlo
Acabei de corrigir o problema, reiniciando o computador ... Isso é realmente um limite estúpido do Windows! - Edwin Yip
Apenas corri para esse problema. Que piada. obrigado - SwimBikeRun
Como outros mencionaram, depois de consertar seu PATH, apenas reinicie o explorer.exe no gerenciador de tarefas se você não quiser reinicializar. Por favor, certifique-se de não iniciar o gerenciador de tarefas clicando com o botão direito na barra de tarefas! Fazendo isso irá inicializar o gerenciador de tarefas com o caminho levantado (e, portanto, o seu novo processo explorer.exe). Lance-o fazendo ctrl + shift + escape - matrixugly


A limitação de 2048 caracteres é real. O que fiz foi dividir o caminho em duas variáveis ​​separadas e incluir a segunda variável na variável PATH:

PATH=C:\;%PATHEXTENDED%
PATHEXTENDED=E:\

Assim eu não precisei apagar nenhum diretório PATH, mas obtive a variável PATH sob 2048 caracteres.


23



ok isso é muito gênio - kenwarner
Muito inteligente, mas aplicativos que adicionam dinamicamente entradas PATH provavelmente estarão operando no caminho totalmente expandido e ainda ficarão malucos. Mas pelo menos a dor será direcionada para esse processo. - Raven
Isso me ajudou muito, obrigado! - Zach Leighton
Obrigado por esta grande idéia, mas infelizmente não funcionou no Win7: a variável "extpath" - ou no seu caso "pathextended" - não foi analisada ..... - Unknown6656
Esta solução não funcionou para mim no Win 7. O conteúdo das duas variáveis ​​foi concatenado, mas quaisquer caracteres após o 2048º (?) Foram truncados da variável PATH combinada resultante. Então eu teve para remover entradas do PATH no final, como por @Raven, para obter meus ícones e %windir%, etc para voltar. - snark


Uma solução alternativa para qualquer um que tente resolver esse problema, seja devido ao excesso path ou por qualquer outro motivo: basta reiniciar o Explorer. O novo shell pega um novo ambiente. Isso corrige a corrupção por enquanto, sem ter que reinicializar, mesmo que você ainda não tenha sido capaz de identificar e resolver permanentemente a causa subjacente.

1

enter image description here

2

enter image description here

3

enter image description here

EDIT: atualização para versões mais recentes do Windows.

O Gerenciador de Tarefas agora faz isso em uma etapa:

enter image description here


11



Isso não fornece uma resposta para a pergunta. Para criticar ou solicitar esclarecimentos de um autor, deixe um comentário abaixo do post - você sempre pode comentar sobre suas próprias postagens, e quando você tiver o suficiente reputação você poderá comentar em qualquer post. - Michael K
Com respeito, eu discordo. A questão é, Windows 7's PATH and environment variables are corrupted. Minha resposta fornece uma maneira de remover essa corrupção. Esta é uma resposta relevante, por si só, e em conjunto com outras correções após as quais uma reinicialização seria necessária. - Reg Edit
Eu sugeriria editar a resposta dos Ravens e adicionar sua parte a ela. A maioria das pessoas só lerá a resposta aceita e, se eu entendi corretamente, sua resposta é principalmente uma adição a isso. - Michael K
Ah, entendo. Não, é relevante para qualquer solução que esteja sendo tentada. Eu editei minha resposta para deixar isso mais claro. - Reg Edit
isso provavelmente valeria mais a pena como comentário do que como resposta. Que, em vez de reiniciar, ele deve terminar a tarefa explorer.exe e reiniciar o explorer.exe. Sua resposta endereça parte de seu problema - esta parte "Eu não posso nem abrir a caixa de diálogo Propriedades do Sistema onde eu posso ver variáveis ​​de ambiente (porque ele usa variáveis ​​shell para iniciá-lo e não funciona). Em suma, eu reinicio cada Tempo." Mas observe que, como ele tem um problema de caminho após uma reinicialização, isso não resolveria mais o problema do que reiniciava. - barlop


você deve obter um programa para monitorar as chaves do registro

variáveis ​​do usuário

HKCU\Environment

e

variáveis ​​de máquina

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

você pode pegar o momento em que eles são destruídos e reduzi-lo.

também, tempo quanto tempo demora ... após a inicialização. Se pelo menos você souber quando isso vai acontecer, ajudará a reduzir as coisas.

tente o modo de segurança também. incase é relacionado ao processo, e verifique o visualizador de eventos.


3