час назад, после обычного перезапуска, моя переменная окружения PATH просто исчезла.

Это не появляется в:

  • не в Системных Свойствах / дополнительных / переменных окружения.
  • ни в разделе "Пользователь", ни в разделе "Системные" переменные
  • отсутствует в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Диспетчер сеансов \ Среда

К счастью, у меня есть резервная копия моего env vars, поэтому единственный вопрос

Почему это случилось? (а не "как это починить")

,

  • Я на Windows XP, sp3.
  • до инцидента я пытался установить новый монитор, который не работал
  • У меня были другие пользовательские переменные, которые я создал вручную для своих собственных нужд, и все эти переменные остались нетронутыми. Исчезла только переменная PATH!
  • все эти переменные (и PATH, и мои определяемые вручную переменные, которые определены как системные переменные, а не пользовательские переменные
  • поскольку не было переменной PATH, переменная PATH по умолчанию указывала на C:\Windows\system32. я полагаю, это исключает подобные атаки. (или просто доказывает обратное ?!)

редактировать : я исключил гремлины, потому что это произошло до полуночи && после 9 вечера

edit2: я запустил 2 очистителя реестра всего 3 дня назад (reg-mechanic и regSeeker). первый потратил кучу времени на бег. Это не волшебные феи, но это довольно близко;)

edit3 - я не трогал и не изменял свои переменные env в последнее время, так что это не "случайно". кроме того, это случилось уже дважды.

1 ответ1

0

Вероятно, это произошло из-за неправильного использования setx.exe внутри скрипта VBS.

при использовании setx.exe всегда окружайте содержимое переменной двойными кавычками, например

setx.exe varname "value of that var" -m

из вариантов vb:

cmd = "setx " + varName + " """ + Value + """ -m"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .