См. Обновления 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+ символам (это соответствовало тому, что я первоначально видел). Я обрезал его снова и перезагрузил еще раз, и произошло то же самое. Я удалил переменную пути и создал новую; случилось то же самое. На этом этапе все, что я могу сделать, это либо я не могу навсегда изменить свой путь, либо путь сбрасывается каким-либо процессом при загрузке. есть идеи?
Обновление 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: после разговора с ИТ-менеджером он говорит, что борется с аналогичной проблемой на другом компьютере. Оба компьютера имеют твердотельные накопители (кажется, это единственный общий фактор). Это может или не может быть уместным.
set
для присвоения значенияwindir
вручную и повторите с ещеecho
раз - посмотрите, даст ли это вам вывод или нет. Если это произойдет, то что-то не так с вашими переменными env - если нет, то что-то не так с вашей командой shell и / или echo.Ответы:
У меня была та же проблема, и я нашел этот вопрос первым. Тем не менее, реальная причина / решение еще не упоминается в этом вопросе, но упоминается здесь: переменные PATH и среды Windows 7 повреждены
Краткое изложение решения: убедитесь, что ваш путь <2048 символов. Проверьте как пользовательские переменные, так и системные переменные.
источник
С помощью графического интерфейса установите переменную % windir% на % SystemRoot% .
Что касается вашего% path%, вы можете решить это с помощью редактора реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Path (REG_EXPAND_SZ)
источник
У меня была такая же проблема в моем Lenovo TS530. Это начало происходить после установки новых программ, в результате чего мой путь стал намного длиннее, чем раньше, и поэтому установщики добавили новый материал в начало определения пути . Я отредактировал путь в regedt , переместив% SystemRoot% в начало определения пути.
Кроме того, я редактировал ЭКОЛОГИЧЕСКИЙ переменной WinDir из
в
Это, кажется, решило проблему. (Возможно, что я сделал ошибку с обратной косой чертой ранее, пытаясь исправить проблему. Или, наоборот, установщик изменил ее.)
источник
/
вместо\
.Я была такая же проблема. Это было решено, когда я удалил переменную среды PATH (после создания резервной копии ее содержимого) в следующем диалоговом окне.
Я реконструировал переменную PATH позже один за другим. Я переместил часть содержимого PATH, которая не вписывалась в системные переменные, в переменные пользователя PATH.
источник
Как уже упоминалось @ Pieter-Jan Busschaert, это, скорее всего, из-за поврежденной или слишком длинной
PATH
переменной среды.Самый простой способ исправить это - загрузить Rapid Environment Editor . Он показывает вам, что не так с вашими
PATH
настройками и позволяет вам исправить это сразу.источник
Я обнаружил (последовательно), что это также произойдет, если SQL Server 2012 или более поздние версии установлены на компьютере с Windows 7 (не уверен, что проблема также возникает на Win8.x или Win10), но решение, которое я нашел, заключается в также создайте переменную среды windir в текущем пользовательском контексте, чтобы установить значение% SystemRoot%. Единственный раз, когда мы увидим это, когда RDP'ing (удаленный сеанс) на рабочую станцию (ы). Если бы мы вошли в консоль, мы бы не столкнулись с этим вообще. Я не знаю, какие компоненты SQL 2012 (или более поздние версии) были установлены на вашем компьютере непосредственно перед этим или нет, но вы можете попробовать это решение.
источник
Наша справочная служба дала мне такой ответ:
Это работает с учетом двух разных вещей:
1.) Эта проблема на самом деле не существует, потому что эта программа требует, чтобы% windir работал правильно. Вместо этого запустите C: \ Windows \ System32 \ UserAccountControlSettings в командной строке.
2.) Вы предпочитаете не иметь предупреждения безопасности Windows.
источник
У меня была такая же проблема после обновления SSD на моем Lenovo X230. Программное обеспечение, которое я использовал для миграции (Acronis TrueImage), добавило значение пути, которое, должно быть, привело меня к превышению лимита. Я решил это следующим образом:
Открыть Regedit
Перейти к
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Измените значение Path (см. Ответ пользователя 184745 выше).
Вырежьте текущее значение и вставьте в блокнот.
Отредактировал несколько повторяющихся значений, а также пути, которые казались мало полезными. Я сократил длину пути с 2283 символов до 1517.
Вставил новую строку пути в ключ Path.
(На всякий случай сохранил содержимое моего блокнота.)
Rebooted. Все хорошо.
источник
Пожалуйста, проверьте ограничение переменной пути: https://support.microsoft.com/en-us/kb/2685893
источник
У меня были те же проблемы, что и выше. % Windir%. значки не отображаются для некоторых предметов. Любое приложение, которое использовало windir ... Прошло все исправления, включая холодную загрузку, сокращение пути и т. Д.
Наконец воссоздал мой профиль Windows ... проблема исчезла.
источник