Почему% TEMP% разрешает недетерминированный путь в форме% TEMP \ <digit>? - PullRequest
12 голосов
/ 29 июня 2011

У меня 32-разрядная версия Windows Server 2008, и когда я набираю% temp%, мне нужно ..AppData \ Local \ Temp \ 1 \ или ..AppData \ Local \ Temp \ 2 вместо ..AppData \Local \ Temp

Я уже проверил переменные среды, и они в порядке.

Я спрашиваю об этом, потому что у меня есть приложение, которое должно копировать файлы в% temp% \ my applicationи вместо этого он копирует файлы в% temp% \ 1 \ my application

У кого-нибудь есть решение для этого?

Ответы [ 2 ]

20 голосов
/ 29 июня 2011

Объяснение, обсуждение, обходные пути и т. Д., Все в статье Old New Thing Почему имя моего каталога TEMP постоянно меняется - это гарантирует, что несколько сеансов служб терминалов для одного пользователя не по умолчанию) поделиться временным каталогом.

Проблема заключалась в групповой политике Административные шаблоны \ Компоненты Windows \ Службы терминалов \ Временные папки . Если вы не выберете Не использовать временные папки для сеанса , то эти подкаталоги TEMP будут созданы. Существует также статья базы знаний, описывающая ключи реестра за этими групповыми политиками .

Лично я считаю первый комментарий в ответ наиболее полезным:

Почему это важно, если временное местоположение все равно скачет, это временно!

Смотри также

0 голосов
/ 08 марта 2019

Переменные среды имеют 4 контекста:

(выполните Win + R, затем введите regedit, чтобы найти пути ниже)

  1. Системные переменные (HKLM\System\CurrentControlSet\Control\Session Manager\Environment)
  2. Пользовательские переменные (HKCU\Environment)
  3. Переменные процесса (не хранятся в реестре)
  4. Изменчивые переменные (HKCU\VolatileEnvironment)

ref: https://rakhesh.com/windows/temp-environment-variable-has-a-2-or-other-number-after-it/

Когда групповая политика Do not use temporary folders per session не настроена или не установлена ​​на Включено, система сгенерирует две переменные изменчивой среды TEMP & TMP сто же значение переменной TEMP текущего пользователя с добавлением добавочного числа в конце папки TEMP (увеличивается каждый раз, когда пользователь входит в систему, проверьте ответ @ Damien для получения подробной информации)

Если вы установилиесли групповая политика Do not use temporary folders per session включена, такое поведение не будет выполняться.

...