Змінні PATH та середовища Windows 7 пошкоджені


97

У мене немає поняття, але останнім часом у мене виникає ця проблема. Після запуску моєї робочої станції раптом щось руйнує PATH, і багато чого іншого припиняє працювати. Спочатку мій шлях мав багато перелічених каталогів (я використовую Windows 7 як вікно розробки), і через деякий час у мене залишилось лише 3-4 каталоги, перелічені у моєму шляху.

Я навіть не можу відкрити діалогове вікно Властивості системи, де я бачу змінні середовища (тому що для його запуску використовуються змінні оболонки, і це не працює). Коротше кажучи, я перезавантажуюсь кожного разу.

Будь-які ідеї, що може викликати цю проблему? Останнім часом я не запускав нічого нового / незвичайного. Тільки VmWare (але я використовував його в минулому і не мав цієї проблеми тоді).

Я просто перевірив, навіть %WINDIR%не визначено. WTF ?!


2
Нещодавно у мене в 64-бітній коробці Vista була така ж проблема. Якщо я не маю очевидних причин, якщо я відкрию новий командний рядок, змінна шлях встановлюється на частину шляху, визначену в "Користувацькі змінні". Частина шляху "Системні змінні" відсутня. Деякі, але не всі системні змінні не визначені. Реєстр виглядає нормально, і все виглядає нормально в діалоговому вікні "Властивості системи" (використовуючи "c: \ windows \ system32 \ systempropertiesadvanced.exe"). Після перезавантаження система функціонує нормально. Проблема виникає кожні кілька днів. Повне сканування вірусів нічого не знайшло.
Лі

У мене була така ж проблема. Я знайшов кілька різних речей, які викликали це (запуск певних програм, запуск встановників тощо), але немає причин, що це спричинило би їх (вони добре працюють на інших машинах або у вітчизняній машині.) Врешті-решт у мене виникли інші проблеми, що ускладнювали необхідність перевстановлення. яка все виправляла.
Джим Маккіт

4
мій шлях був занадто довгим. Я видалив дублікати, видалив непотрібні записи і проблеми вже немає.
Павло П

Відповіді:


127

З мого блогу

Підсумок, якщо ваша змінна середовища PATH більше 2048 символів, вона (і WINDIR) перестає бути видимою у багатьох контекстах.

Я виправив це, запустивши вручну c: \ windows \ system32 \ systempropertiesadvanced.exe і видаливши один запис із моєї PATH, щоб поставити мене під 2048 символів. Нові вікна cmd працюють чудово.

Оновлення: подібне запитання заявляє, що 2047 є максимальним, і детально описує правила розширення


2
Я просто вирішив проблему, перезавантаживши комп’ютер ... Це справді дурна межа Windows!
Едвін Іп

3
Щойно зіткнувся з цією проблемою. Який жарт. Спасибі
SwimBikeRun

3
Як зазначали інші, після виправлення PATH просто перезапустіть explorer.exe в диспетчері завдань, якщо ви не хочете перезавантажуватись. Переконайтесь, що НЕ запускаєте менеджера завдань, клацнувши правою кнопкою миші на панелі завдань! Це дозволить ініціалізувати диспетчера завдань з підключеним шляхом (а отже, і вашим новим процесом explorer.exe). Запустіть його, виконавши ctrl + shift + escape
C. Tewalt

1
Дякую за це. Я боровся з цим останній місяць або близько того, коли продукт Sony збільшив мій шлях приблизно на 200 знаків.
Майкл Дорган

1
Що я зробив на додаток до того, що запропонував Рейвен: замінити загальні базові dirs, як c:\program files (86)у змінній шляху, на інші змінні, наприклад, PRGX86вказуючи на файли програм dir. Таким чином ви можете зберегти кілька додаткових символів.
овм

23

Обмеження символів 2048 року справжнє. Що я зробив, це розділити шлях на дві окремі змінні та включити другу змінну в змінну PATH:

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

Начебто мені не потрібно було видаляти жодні каталоги PATH, але я отримав змінну PATH менше 2048 символів.


2
гаразд, це досить геніально
kenwarner

1
Дуже розумні, але додатки, які динамічно додають записи PATH, швидше за все, будуть працювати на повністю розширеному шляху і все одно втратять свої сили. Але принаймні біль буде охоплений цим процесом.
Ворон

Дякую за цю чудову ідею, але вона, на жаль, не спрацювала під Win7: змінна "extpath" - або у вашому випадку "патексенденція" - не була проаналізована .....
unknown6656

2
Це рішення не працювало для мене у програмі Win 7. Вміст двох змінних було об'єднано, але будь-які символи після 2048-го (?) Були урізані з отриманої комбінованої змінної PATH. Тому мені довелося видалити записи з PATH врешті-решт, відповідно до @Raven, щоб повернути свої значки та %windir%ін.
snark

12

Вирішення способу вирішення проблеми для всіх, хто намагається вирішити цю проблему, через надмірну pathабо з будь-якої іншої причини: просто перезапустіть Провідник. Нова оболонка підбирає нове середовище. Це виправляє корупцію на даний момент, не потребуючи перезавантаження, навіть якщо ви ще не змогли визначити та остаточно вирішити основну причину.

1.

введіть тут опис зображення

2.

введіть тут опис зображення

3.

введіть тут опис зображення

EDIT: оновлення для новіших версій Windows.

Диспетчер завдань тепер робить це в один крок:

введіть тут опис зображення


Це не дає відповіді на запитання. Щоб критикувати або вимагати роз'яснення у автора, залиште коментар під їх публікацією - ви завжди можете коментувати свої власні публікації, і як тільки у вас буде достатня репутація, ви зможете коментувати будь-яку публікацію .
Майкл К

З повагою я не згоден. Питання в тому Windows 7's PATH and environment variables are corrupted,. Моя відповідь дає спосіб усунути корупцію. Це відповідна відповідь як сама по собі, так і в поєднанні з іншими виправленнями, після яких інакше буде потрібно перезавантаження.
Редагування

Я б запропонував відредагувати відповідь Ворона і додати до неї свою частину. Більшість людей буде читати лише прийняту відповідь, і якщо я правильно зрозумів, ваша відповідь є переважно доповненням до цього.
Майкл К

А, бачу. Ні, це стосується будь-якого рішення, яке випробовується. Я відредагував свою відповідь, щоб зробити це зрозумілішим.
Редагування

1
це, мабуть, було більш вагомим коментарем, ніж відповіддю. Замість того, щоб перезапустити, він повинен закінчити завдання explorer.exe і перезапустити Explorerr.exe. Ваша відповідь стосується частини його проблеми - ця частина "Я навіть не можу відкрити діалогове вікно" Властивості системи ", де я бачу змінні середовища (тому що для його запуску використовуються змінні оболонки, і це не працює). Коротше кажучи, я перезавантажую кожну час ». Але зауважте, що оскільки у нього виникає проблема з маршрутом після перезавантаження, це не вирішить його проблеми більше, ніж у нього при перезапуску.
барлоп

3

ви повинні отримати програму для контролю ключів реєстру

користувацькі змінні

HKCU\Environment

і

машинні змінні

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

ви можете зловити момент, коли вони зруйновані, і звузити його.

також час, коли це займе .. після завантаження. якщо ви можете принаймні знати, коли це станеться, це допоможе звузити речі.

спробуйте також безпечний режим. у випадку, якщо це пов'язано з процесом, і перевірте переглядач подій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.