Подтвердить что ты не робот

Среда Переменная слишком велика для Windows 10

Я знаю, что это странно, и я потратил почти 3 дня на поиск решения в Интернете, не получив полезного. Поэтому я решил приехать сюда.

Недавно я обновился до Windows 10 из Windows 8.1.

Теперь я хотел установить переменную среды для моей новой установки Apache Maven.

Каждый раз, когда я создавал пользовательскую переменную, все в порядке. Однако мне также необходимо создать системную переменную, где мне нужно будет добавить каталог bin в переменную, которую я создаю в пользовательской переменной как "путь".

Теперь, каждый раз, когда я это делаю, я получаю erron, который говорит: "Эта переменная среды слишком велика. В результате этого я не могу создать путь.

Я прикрепил изображение этой ошибки.

Буду признателен, если кто-нибудь может помочь мне решить эту проблему.

Заранее благодарю вас за помощь. введите описание изображения здесь

4b9b3361

Ответ 1

Когда переменная PATH перегружается со слишком большим количеством значений, она достигает точки, в которой вы больше не можете добавлять значения. Попытка решить следующую проблему должна решить вашу проблему.

Решение 1:

  • Создайте новую системную переменную say "NEWPATH"
  • Назначьте расположение каталога bin "NEWPATH"
  • Теперь добавьте ; % NEWPATH% "переменной PATH

Если это все еще не работает, попробуйте скопировать некоторую часть переменной PATH уже существующих значений в "NEWPATH", а затем добавить "NEWPATH"

Решение 2:

Проверьте значение переменной PATH, если вы можете группировать и сокращать пути. Например,

C:\Program Files\Microsoft SQL Server\102\Tools\Binn \; C:\Program Files\Microsoft SQL Server\102\DTS\Bin \;

можно комбинировать с

C:\Program Files\Microsoft SQL Server;

Таким образом вы можете создать больше места в переменной PATH с фиксированной длиной и, наконец, настроить расположение каталога bin в PATH.

Надеюсь, это поможет вам!

Ответ 2

Есть несколько способов очистить переменную пути. Самый простой - использовать Rapid Environment Editor. Эта бесплатная утилита будет,

  1. Удалите повторяющиеся пути (щелкните правой кнопкой мыши> Пути очистки)
  2. Удалите несуществующие папки (показаны красным, которые необходимо удалить вручную)
  3. Замените длинные пути на короткие пути (щелкните правой кнопкой мыши> длинный путь на короткий путь).

Я делаю вышеуказанные шаги по порядку и использую 3-й шаг только для самых длинных путей, пока размер переменной пути снова не будет под контролем.

Если вы хотите продвинуться дальше, то здесь есть небольшой инструмент С#, который вы можете модифицировать под любую другую логику, которую хотите реализовать.

Ответ 3

Другим решением или более обходным путем для обхода ограничения длины переменной PATH среды является управление вашим путем (добавление, удаление или обновление) с помощью PowerShell script;

1) Захватите текущую переменную PATH, нажав "Редактировать текст" (см. выше скриншот) и скопируйте ее в буфер обмена и сохраните в текстовом файле в качестве резервной копии, чтобы избежать неприятных сюрпризов. Это не обязательно, но позволит вам восстановить, если что-то пойдет не так.

2) Теперь, когда он будет скопирован, добавьте следующее в новый файл PowerShell (.ps1) (изменив первую строку ниже с пути (ов) папки, который вы хотите добавить (часть после знака +):

$newPath = $env:Path + '; C:\Users\....\FirstFolderToAddToPath; C:\Users\....\SecondFolderToAddToPath;'

[Environment]::SetEnvironmentVariable("Path", $newPath, "Machine")

$env:Path = $newPath

Вот как мне удалось вернуть мою (длинную) переменную PATH после игры с использованием интерфейса Windows 10, будучи пойманным по ограничению длины и потеряв большую часть моего пути. Надеюсь, это поможет.

Ответ 4

В дополнение к ответу Swapnil, обратите внимание, что вы можете изменить максимальную длину отдельного пути в переменной Path - которая в других случаях исторически ограничена 260 символами. В Windows 10 этого можно добиться, установив для LongPathsEnabled реестра LongPathsEnabled значение 1, которое можно найти здесь:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Чтобы получить доступ к редактору реестра: Windows Key+R, введите Regedit.

Источник: https://superuser.com/a/1119980

Также взгляните на этот ответ SuperUser: https://superuser.com/a/1119980/327009

Ответ 5

Поздний ответ, но я искал что-то похожее и оказался здесь. Я изменил все пути к переменным для файлов программ и программных данных (этот файл сохраняет как 1 символ, но не так важен).

Для чего-то вроде nodejs, я изменил нормальный путь

C:\Program Files\nodejs\

к

% ProgramFiles%\nodejs\

Это можно сделать с помощью "C:\Program Files (x86)", а также с помощью "% ProgramFiles (x86)% \"

Это спасло мне несколько персонажей, но достаточно, что я перестала жаловаться.

Ответ 6

Я нашел, что вы можете сделать через PowerShell.

[System.Environment]::SetEnvironmentVariable("PATH", "C:\Program Files (x86......etc.....", "Machine")

Поэтому я взял существующую системную переменную PATH, вставил ее в блокнот, добавил свою новую вещь, а затем вставил в бит "C:\Program Files" описанного выше. Путь обновлен. Готово.

Ответ 7

Обход проблемы:

Перезагрузите систему. После перезапуска системы PATH больше не пуст, но может быть усечен до 2047 (4095) символов Если перезагрузка системы не помогает, пожалуйста:

Запустить c:\windows\system32\regedit.exe Перейти в куст реестра "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" Очистить ненужные каталоги с помощью клавиши "Путь" Перезапустить систему

Примечание. В некоторых исключительных случаях, если система не может начать, пожалуйста,

Войдите в безопасный режим Откройте оболочку командной строки и введите: reg добавить "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Путь /t REG_EXPAND_SZ/d ^% SystemRoot ^%\system32; ^% SystemRoot ^%/f

Подробнее: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable

Ответ 8

В дополнение к другим методам (например, Powershell), я нашел хороший графический интерфейс "Rapid Environment Editor", который может обрабатывать большие текстовые значения.

https://www.rapidee.com/en/download

Ответ 9

Ответ, данный "Кристофом Адамакисом", сработал для меня. Это просто.

Ответ 10

Попробуйте изменить с помощью regedit, в моем случае это работает, когда длина больше 3000.

Нажмите Win + R и введите regedit, чтобы открыть regedit. Перейдите к Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment и измените значение Path на свой путь. И перезагрузите компьютер, он должен работать.

Ответ 11

Workarround. Используйте Edit Text и отредактируйте свой PATH в текстовом редакторе

Ответ 12

В дополнение к другим ответам, если в ваших окнах есть редактор групповой политики, нажмите WINKEY + R и напишите gpedit.msc, в появившемся окне в левой части дерева перейдите к:

Конфигурация компьютера → Административные шаблоны → Система → Файловая система, дважды щелкните "Включить длинные пути Win32" и установите значение "Включить". Вам может потребоваться перезагрузка, чтобы изменения вступили в силу.

Обратите внимание, что как человек, который создает инструмент для управления переменными среды для конкретного проекта, над которым я работаю, я могу сказать, что переменные среды Windows довольно ошибочны, когда речь идет о ссылках переменных на переменные, которые уже ссылаются на другую переменную, которая является тихим отстой, и в Для правильного чтения переменных этого типа необходимо запустить приложение, которое читает эти переменные, с правами администратора (в качестве администратора), в противном случае оно будет считывать переменные как% SOME_VARIABLE%/Folder1/Folder2. Вот почему я прекратил использовать эту функцию и использовать абсолютный путь, так как у меня много переменных, установленных в моей пользовательской и системной переменных среды для моей среды разработки. Я рекомендую не ссылаться на переменную, которая уже содержит указанную переменную из моего опыта, чтобы избежать подобных ситуаций.