
У меня проблема с моим ноутбуком, он не может разрешить переменную среды %windir%. Я проверил в сети и обнаружил, что переменная PATH должна быть длиной менее 2024 символов. У меня она составляет 3145. Проблема в том, что мой ноутбук находится на машине разработчика с 4 различными версиями Visual Studio и 3 версиями SQL Server, а также множеством инструментов программирования, которые все добавляют свой собственный путь в переменную PATH. Я не могу уменьшить ее, иначе что-то больше не будет работать. Мне также нужно сохранить все версии VS и MSSQL.
Можно ли как-то обойти эту проблему?
большое спасибо за ваше время и помощь
вот моя переменная PATH:
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\system32\wbem;
C:\Program Files (x86)\Rockwell Software\RSCommon;
C:\Program Files (x86)\Intel\iCLS Client;
C:\Program Files\Intel\iCLS Client;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;
C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;
C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;
C:\Program Files\Lenovo\Fingerprint Manager Pro;
C:\Program Files (x86)\Common Files\Lenovo;
C:\Program Files\Intel\WiFi\bin;
C:\Program Files\Common Files\Intel\WirelessCommon;
C:\Program Files\Microsoft SQL Server\100\Tools\Binn;
C:\Program Files\Microsoft SQL Server\100\DTS\Binn;
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE;
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn;
C:\Program Files\Microsoft SQL Server\110\DTS\Binn;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio;
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn;
C:\Program Files (x86)\Common Files\Rockwell;
C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn;
C:\Program Files\Microsoft SQL Server\90\DTS\Binn;C:\Program Files\Microsoft SQL Server\90\Tools\binn;
C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn;
C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn;
C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE;
C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies;
C:\Program Files (x86)\GtkSharp\2.12\bin;
c:\Program Files\Microsoft SQL Server\90\Tools\binn\;
c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;
c:\Program Files\Microsoft SQL Server\90\DTS\Binn\;
c:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\;
c:\Program Files (x86)\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;
c:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;
C:\Program Files (x86)\Common Files\lenovo\easyplussdk\bin;
C:\Program Files\JAI\SDK\bin;
C:\Program Files\JAI\SDK\bin\Win32_i86;
C:\Program Files\JAI\SDK\GenICam\bin\Win64_x64;
C:\Program Files\JAI\SDK\GenICam\bin\Win32_i86;
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;
C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;
C:\Program Files\Lenovo\Fingerprint Manager Pro\;
C:\Program Files\Microsoft\Web Platform Installer\;
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;
C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;%HALCONROOT%\bin\%HALCONARCH%;%HALCONROOT%\FLEXlm\%HALCONARCH%
(новые строки добавлены мной)
решение1
Я думаю, вы можете очистить переменную PATH и запускать каждую IDE (например, Visual Studio) в ее собственном «скрипте запуска», где вы устанавливаете соответствующую переменную PATH:
set PATH=%PATH%;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn
start "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"
Таким образом вы можете ограничить длину PATH.
решение2
Если вам нужно сделать путь короче, одним из решений может быть использование уродливых имен в стиле 8.3 MS-DOS, т. е. вместо C:\Program Files (x86)\Microsoft Visual Studio 9.0
вы могли бы иметь что-то вроде C:\Progra~2\Micros~1.0
(22 символа вместо 50, т. е. на 56% короче). Для фактических имен вы должны проверить свою систему, например, из командной строки, используя dir /x
. Таким образом PATH
, переменная станет довольно трудночитаемой, но ее следует значительно сократить, возможно, ниже предела в 2024 символа, если у вас много путей с длинными именами.
решение3
Этот вопрос очень актуален:Слишком много папок в переменной пути, иодин из ответовпредлагает использовать соединения каталогов в качестве обходного пути:
Вышеуказанное решение мне не подошло, поэтому я пошел по этому пути.каталоги переходов:
- Выберите несколько самых длинных путей в моем PATH (Нравится
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
)- Создайте небольшую папку для хранения моих соединений: c:\d\
- Создавайте короткие развязки для длинных путей:
mklink /jc:\d\sql "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\"
Выполнив это для 15 путей, я сократил PATH с 2045 до 1285 символов.
Это может стать проблемой, когда вы наконец удалите что-то с компьютера, поскольку соединения останутся на пути, и вам придется очищать их вручную.