2016-11-17 7 views
0

На моей машине с Windows у меня странное поведение.TMP отличается от пользовательской переменной на Windows

Система переменной TEMP и TMP устанавливаются:

%SystemRoot%\TEMP 

пользовательская переменная TEMP и TMP устанавливаются:

%USERPROFILE%\AppData\Local\Temp 

Оценка %USERPROFILE% в cmd дает мне что-то вроде:

C:\Users\my.username 

%TEMP% Оценка и %TMP% в cmd дает мне что-то (DOS), как:

C:\Users\my5336~1~AME 

Может кто-нибудь объяснить мне, где cmd значения происходят из? Я совершенно смущен.

Я могу найти значение my5336~1~AME в реестре в HKLM/SOFTWARE/Microsoft/DFP/Environment/, но я не знаком с этим.


EDIT:

Даже после удаления записи из системного реестра и выхода из системы и они по-прежнему оценивают на странные значения.

И [System.Environment]::ExpandEnvironmentVariables("%tmp%") в PowerShell также дает мне странные значения.

ответ

0

переменные среды пользователя хранятся в:

HKEY_CURRENT_USER\Environment 

и окружающей среды системы переменных в:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment 

Что у вас есть выглядит немного как короткое имя файла

+0

Основной проблемой является что ни одна из этих сред не отражает значения, сообщенные 'cmd'. Эффективно я понятия не имею, откуда взялись ценности. – abergmeier

+0

Если вы следуете инструкциям здесь: https://kb.wisc.edu/cae/page.php?id=24500, чтобы получить редактор переменных среды, вы видите поврежденные версии переменных окружения или они как они должны быть? – Richard

+0

Если я установил переменную окружения ('TMP') для пользователя' cmd', он больше не находит эту переменную, в то время как другие ('TEMP') все еще доступны. – abergmeier

 Смежные вопросы

  • Нет связанных вопросов^_^