Я столкнулся со странной проблемой - я не могу ни запустить Visual Studio, ни выполнить простые команды из командной строки, по-видимому, из-за слишком длинной переменной PATH. Теперь, когда я смотрю на это, я вижу, что многие компании добавили свои каталоги установки в переменную PATH.
Мне было интересно, почему эти компании добавили свои папки в путь (возможно, чтобы было проще выполнять их программы?), И какие необходимы и которые я могу удалить. Если я удалю некоторые из них, я не смогу запустить программы? ( Вот то, что в настоящее время существует в пути)
PATH
... Что заставляет вас подозревать, что это слишком долго? VS сбрасывает какую-то ошибку? Кроме того, какую версию Windows вы используете?ping
. Кроме того, кажется, что это не редкость для визуальной студии . Было также отмечено здесь , что предел для PATH с помощью командной строки составляет около 2000The type initializer for 'Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService' threw an exception.
Ответы:
Можно уменьшить избыточное количество путей в переменных окружения PATH, просто сохранить всю строку в блокноте, в качестве резервной копии, удалить некоторые и протестировать.
Большинство из них есть, поэтому, если для ярлыка не задан полный путь для «Цели», если «Старт в» не установлен в ярлыке правильно, или запуск выполняется странным образом, их программа и ее части и части всегда нашел. Это Failsafe в большинстве ситуаций. Вы все еще хотите полностью протестировать любое использование любой программы, которую вы удалили.
Это также очень полезно для людей, которые вводят команды в CMDprompt, даже без CD компьютер будет сканировать каждое местоположение, пока программа с таким именем не будет найдена и запущена. Или любая другая команда с таким же именем :-)
Этот набор путей WAS (предшественник) ограничивался менее чем 255 (или 260) символами, который некоторое время назад изменился на 1024, а затем был исправлен обратно в эпоху server'03 для обработки 2048 и предположительно мог обрабатывать 8096 в некоторых системах, даже давно.
Реальные ограничения, обнаруженные сегодня, с которыми сталкиваются люди, заключаются в CMDprompt, который имеет ограничение на длину командной строки, которая включает в себя расширение переменных и путей.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx здесь Microsoft говорит:
В этом месте ^ они указывают на место в реестре, которое содержит системные пути.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Остальное нужно прочитать там.CMDprompt и пакетное ограничение составляют 2048 символов после расширения, и говорят, что это в 4 раза больше, чем для более новых систем (нуждается в цитировании, потому что люди этого не видят)
Также см. Http://support.microsoft.com/kb/830473 , где обсуждаются командная строка и длина пакета для более старых систем.
Чтобы убедиться, что записи там правильные, в вики есть что сказать:
http://en.wikipedia.org/wiki/Environment_variable
Наличие всех дополнительных путей там немного замедляет некоторые вещи, потому что тогда он вынужден искать во всех этих местах, прежде чем он сдастся. Использование полных путей при вызове элементов файла всегда будет быстрее, даже при пакетной обработке или использовании CMDprompt.
Использование старых соглашений DOSlike 8.3 - один из способов уменьшить размер, этот пакет /programming//a/20362922 работает хорошо. не забудьте (снова) сделать резервную копию оригинальной строки. Смотрите также другие возможные решения по этому вопросу.
Вот как выглядит моя, было хуже.
% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files (x86) \ QuickTime \ QTSystem \
Я бы быстро выбрал быстрое время, и программы AMD уже добавили туда расширенный путь, бросил его, у Adobee был один, ни один из них не имел значения для стандартных методов ярлыков / пиктограмм в графическом интерфейсе. Многие вещи можно удалить, затем протестируйте все функции. Если вы вызываете вещи, вводя приглашение CMD, удаление этих путей не будет работать.
источник
На моем пути есть несколько переменных среды, связанных с разработкой программного обеспечения, и все они важны.
Вышеупомянутое решение не сработало бы для меня, поэтому я выбрал соединения каталогов :
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
)Выполнение этого по 15 путям уменьшило мой PATH с 2045 до 1285 символов.
Это может быть проблемой, когда вы, наконец, удалите материал со своего компьютера, так как соединения будут оставаться на пути, и вам придется очистить их вручную.
источник
Несмотря на то, что максимально допустимое значение в пути намного длиннее, я нашел в Stack Overflow официальные ответы на эту тему (и ссылки Microsoft), в которых говорится, что будет работать максимальное значение расширенного пути в 2048 байт, и все, что дольше этого, вызовет проблемы. Под "расширенным" я подразумеваю, что любые переменные, обозначенные разделителями%, будут вставлены в свои значения, чтобы стать расширенным значением, а общая расширенная длина не должна превышать 2048 байтов. Я заметил, что типы проблем, которые это вызывает (начиная с Windows 7):
Лично я рекомендую другие операционные системы, кроме Windows, но если вы застряли на ней, вам придется потратить часы на удаление записей пути, тестирование, чтобы убедиться, что оно ничего не нарушает, и получить значение пути до 2048 байт.
источник