
См. обновления 3 и 4 ниже, чтобы узнать, как развивалась проблема.
На моем компьютере (Windows 7 x64, Lenovo Thinkpad T530) возникла проблема с разрешением %windir%. После загрузки все работает нормально. В какой-то момент некоторое время спустя компьютер внезапно не может разрешить %windir%.
Проверка окна переменных среды показывает, что она определена.
Проверка реестра также показывает, что он также определен. Я на самом делеудалил ключ и ввел его зановоно безрезультатно.
После перезагрузки все работает нормально некоторое время. Есть ли у кого-нибудь мысли о том, что еще я могу проверить?
Обновление 1: Подумав немного, я удалил драйвер/программу Konica Minolta Pagebox, которые были установлены примерно в то время, когда эта проблема начала проявляться (см. комментарии ниже). Проблема, похоже, проявляется примерно через 4-24 часа (я никогда не засекал время), поэтому я обновлю ее снова после этого.
Обновление 2: Проблема все еще возникает. Я вернулся с обеда, а %windir% не может быть найден. Я провел тест после перезагрузки сегодня утром и перевел компьютер в спящий режим, затем разбудил его. %windir% все еще был определен после пробуждения.
Обновление 3:
Согласно комментариям Дэниела, я запустил set
до и после ошибки и сравнил результаты. Первое, что я заметил, это то, что при новой загрузке мой%path% имеет длину более 2000 символов. Я сократил его до ~375 символов и проверил его в новом окне cmd. Я перезагрузился, снова проверил путь, и он снова стал более 2000+ символов (он совпадал с тем, что я изначально видел). Я снова обрезал его и перезагрузился еще раз, и произошло то же самое. Я удалил переменную path и создал новую; произошло то же самое. На данный момент все, что я могу заключить, это то, что либо я не могу навсегда изменить свой путь, ЛИБО путь сбрасывается каким-то процессом при загрузке. Есть мысли?
Обновление 4:
Я отредактировал свой путь с помощью метода реестра, предложенного ниже. Я проверил свой путь сегодня после некоторого времени работы, и он увеличился из того, что я ввел в реестр; теперь в нем есть несколько новых записей и много дубликатов. Единственные новые записи из SQL Server 2012. Я пошел, чтобы изменить это в реестре, и заметил, что реестр НЕ соответствует выводу echo %path%
. Проверка переменных среды на вкладке дополнительных свойств показывает третью версию моего пути.
Registry Path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;
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\DTS\Binn\;
Command Line path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;
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\DTS\Binn\;
C:\Program Files(x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;
Environment Variables path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;
Похоже, чтопуть к командной строке"="путь к реестру+путь к переменным среды. Я попытался установить путь реестра и путь переменных среды на одно и то же и перезагрузиться. После перезагрузки мой путь теперь удвоился, по сути, это две копии пути реестра, расположенные друг за другом выше.
Еще раз, есть какие-нибудь мысли?
Обновление 5:После разговора с IT-менеджером он говорит, что борется с похожей проблемой на другом компьютере. На обоих компьютерах установлены SSD (кажется, это единственный общий фактор). Это может быть, а может и не быть релевантным.
решение1
У меня была та же проблема, и я первым нашел этот вопрос. Однако настоящая причина/решение пока не упоминаются в этом вопросе, но упоминаются здесь:PATH и переменные среды Windows 7 повреждены
Краткое изложение решения: убедитесь, что ваш путь < 2048 символов. Проверьте как пользовательские переменные, так и системные переменные.
решение2
С помощью графического интерфейса настройте свой%windir%переменное содержимое для%SystemRoot%.
Что касается %path%, вы можете решить эту проблему с помощью редактора реестра:
- Запустите Regedit.exe
- Идти к
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
- На правой панели дважды щелкните по значению.
Path (REG_EXPAND_SZ)
- Измените значение по своему усмотрению и перезагрузите компьютер.
решение3
У меня была такая же проблема в моем Lenovo TS530. Она начала возникать после установки новых программ, которые вызвали мойпутьчтобы он был даже намного длиннее, чем раньше, и чтобы установщики добавили новый материал в началопутьопределение. Я отредактировалпутьврегедтпутем перемещения %SystemRoot% в начало определения пути.
path = %SystemRoot%\system32;%SystemRoot%;%SystemRoot....
Кроме того, я отредактировал переменную окружениявиндирот
windir= C:/Windows
к
windir=C:\Windows
Кажется, это решило проблему. (Возможно, я допустил ошибку с обратным слешем ранее, пытаясь исправить проблему. Или же установщик изменил его.)
решение4
Как уже упомянул @Pieter-Jan Busschaert, это, скорее всего, из-за поврежденной или слишком длинной PATH
переменной окружения.
Самый простой способ исправить это — загрузитьРедактор быстрой среды. Он показывает, что не так с вашими PATH
настройками, и позволяет вам немедленно это исправить.