Il PATH di Windows 7 e le variabili di ambiente sono danneggiate


97

Non ne ho idea, ma ultimamente ho avuto questo problema. Dopo aver eseguito la mia workstation improvvisamente qualcosa distrugge il PERCORSO e molte cose smettono di funzionare. Inizialmente, il mio percorso aveva MOLTE directory elencate (io uso Windows 7 come una casella di sviluppo) e dopo qualche tempo, mi restavano solo 3-4 directory nel mio percorso.

Non riesco nemmeno ad aprire la finestra di dialogo Proprietà del sistema in cui posso vedere le variabili di ambiente (perché utilizza variabili di shell per avviarlo e non funziona). In breve, riavvio ogni volta.

Qualche idea su cosa potrebbe causare questo problema? Ultimamente non ho fatto nulla di nuovo / insolito. Solo VmWare (ma l'ho usato in passato e all'epoca non avevo questo problema).

Ho appena controllato, anche %WINDIR%non è definito. WTF ?!


2
Recentemente ho avuto lo stesso problema sulla mia casella Vista a 64 bit. Senza una causa ovvia, se apro un nuovo prompt dei comandi, la variabile del percorso viene impostata sulla parte del percorso definita in "Variabili utente". Manca la parte "Variabili di sistema" del percorso. Alcune, ma non tutte le variabili di sistema sono indefinite. Il registro sembra OK e tutto sembra OK nella finestra di dialogo Proprietà del sistema (usando "c: \ windows \ system32 \ systempropertiesadvanced.exe"). Dopo il riavvio, il sistema funziona normalmente. Il problema si ripresenta ogni pochi giorni. Una scansione antivirus completa non ha trovato nulla.
Lee

Ho avuto lo stesso problema. Ho trovato alcune cose diverse che l'hanno innescato (eseguendo determinati programmi, eseguendo programmi di installazione, ecc.) Ma nessuna ragione per cui potrebbero causarlo (funzionano bene su altre macchine o in una macchina virtuale.) Alla fine ho avuto altri problemi a complicare la necessità di reinstallare che ha risolto tutto.
Jim McKeeth,

4
il mio percorso era troppo lungo. Ho rimosso i duplicati, rimosso voci inutili e il problema è sparito.
Pavel P,

Risposte:


127

Dal mio blog

In conclusione, se la vostra variabile d'ambiente PATH è più di 2048 caratteri (e WINDIR) smettono di essere visibili in molti contesti.

Ho risolto eseguendo manualmente c: \ windows \ system32 \ systempropertiesadvanced.exe ed eliminando una voce dal mio PERCORSO per mettermi sotto 2048 caratteri. Le nuove finestre cmd funzionano bene.

Aggiornamento: questa domanda simile afferma che il 2047 è il massimo ed elabora le regole di espansione


2
Ho appena risolto il problema riavviando il computer ... Questo è davvero un limite stupido di Windows!
Edwin Yip,

3
Ho appena riscontrato questo problema. Che scherzo. Grazie
SwimBikeRun

3
Come altri hanno già detto, dopo aver corretto il PERCORSO, è sufficiente riavviare explorer.exe nel Task Manager se non si desidera riavviare. Assicurati di NON avviare Task Manager facendo clic con il tasto destro sulla barra delle attività! In questo modo verrà inizializzato il task manager con il percorso di sollevamento (e quindi il nuovo processo explorer.exe).
Lanciarlo

1
Grazie per questo. Lo stavo combattendo da circa un mese, quando un prodotto Sony ha aumentato il mio percorso di circa 200 caratteri.
Michael Dorgan,

1
Cosa ho fatto oltre a quello che Raven ha proposto: sostituire le dir di base comuni come c:\program files (86)nella variabile path con altre variabili come ad esempio che PRGX86puntano alla directory dei file di programma. In questo modo puoi salvare alcuni personaggi aggiuntivi.
Ovm

23

La limitazione di 2048 caratteri è reale. Quello che ho fatto è stato dividere il percorso in due variabili separate e includere la seconda variabile nella variabile PATH:

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

In quel modo non ho dovuto cancellare nessuna directory PATH ma ho ottenuto la variabile PATH con meno di 2048 caratteri.


2
ok è piuttosto geniale
kenwarner,

1
Molto intelligenti, ma le app che aggiungono in modo dinamico voci PATH funzioneranno probabilmente sul percorso completamente espanso e continueranno a impazzire. Ma almeno il dolore sarà mirato a quel processo.
Raven,

Grazie per questa fantastica idea, ma purtroppo non ha funzionato con Win7: la variabile "extpath" - o nel tuo caso "pathextended" - non è stata analizzata .....
unknown6656

2
Questa soluzione non ha funzionato per me in Win 7. I contenuti delle 2 variabili sono stati concatenati, ma tutti i caratteri dopo il 2048 ° (?) Sono stati troncati dalla risultante variabile PATH combinata. Quindi alla fine ho dovuto rimuovere le voci da PATH, come per @Raven, per ottenere le mie icone ed %windir%ecc. Per tornare.
Snark

12

Una soluzione alternativa per chiunque cerchi di risolvere questo problema, a causa di eccessivo patho per qualsiasi altro motivo: basta riavviare Explorer. La nuova shell raccoglie un nuovo ambiente. Questo risolve la corruzione per il momento, senza dover riavviare, anche se non sei ancora stato in grado di identificare e risolvere definitivamente la causa sottostante.

1.

inserisci qui la descrizione dell'immagine

2.

inserisci qui la descrizione dell'immagine

3.

inserisci qui la descrizione dell'immagine

EDIT: aggiornamento per le versioni più recenti di Windows.

Task Manager ora lo fa in un solo passaggio:

inserisci qui la descrizione dell'immagine


Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti a un autore, lascia un commento sotto il suo post: puoi sempre commentare i tuoi post e una volta che avrai una reputazione sufficiente sarai in grado di commentare qualsiasi post .
Michael K,

Con rispetto, non sono d'accordo. La domanda è: Windows 7's PATH and environment variables are corrupted. La mia risposta fornisce un modo per rimuovere quella corruzione. Questa è una risposta pertinente sia a sé stante, sia in combinazione con altre correzioni dopo le quali sarebbe altrimenti necessario un riavvio.
Modifica Reg

Suggerirei di modificare la risposta di Ravens e aggiungere la tua parte. La maggior parte delle persone leggerà solo la risposta accettata e se capisco correttamente, la tua risposta è principalmente un'aggiunta a questa.
Michael K,

Ah, capisco. No, è rilevante per qualsiasi soluzione provata. Ho modificato la mia risposta per renderlo più chiaro.
Modifica Reg

1
questo probabilmente è stato più utile come commento che come risposta. Che invece di riavviare dovrebbe terminare task explorer.exe e riavviare explorer.exe. La tua risposta affronta parte del suo problema - questa parte "Non riesco nemmeno ad aprire la finestra di dialogo Proprietà del sistema in cui posso vedere le variabili di ambiente (perché usa variabili di shell per avviarlo e non funziona). In breve, riavvio ogni tempo." Ma nota che dal momento che ha un problema con il percorso dopo un riavvio, questo non risolverà il problema più di quanto abbia riavviato.
barlop

3

dovresti ottenere un programma per monitorare le chiavi del registro

variabili utente

HKCU\Environment

e

variabili macchina

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

potresti cogliere l'attimo in cui vengono distrutti e restringerlo.

inoltre, il tempo impiegato ... dopo l'avvio. se almeno sai quando accadrà, ti aiuterà a restringere le cose.

prova anche la modalità provvisoria. in caso sia relativo al processo e controlla il visualizzatore di eventi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.