Почему%TEMP% разрешает недетерминированный путь в форме% TEMP \<digit>?
У меня 32-разрядная версия Windows Server 2008, и, когда я набираю% temp%, мне нужно..AppData\Local\Temp\1\ или..AppData\Local\Temp\2 вместо..AppData \ Local \ Temp
Я уже проверил переменные среды, и они в порядке.
Я спрашиваю об этом, потому что у меня есть приложение, которое должно копировать файлы в% temp% \ my application, и вместо этого оно копирует файлы в%temp%\1\my application
У кого-нибудь есть решение для этого?
1 ответ
Объяснение, обсуждение, обходные пути и т. Д., Все в статье Old New Thing. Почему имя моего каталога TEMP постоянно меняется - это гарантирует, что несколько сеансов служб терминалов для одного и того же пользователя (по умолчанию) не совместно используют временный каталог.
Проблема заключалась в групповой политике Административные шаблоны \ Компоненты Windows \ Службы терминалов \ Временные папки. Если вы не выберете Не использовать временные папки для каждого сеанса, будут созданы эти подкаталоги TEMP. Существует также статья базы знаний, описывающая ключи реестра за этими групповыми политиками.
Лично я считаю первый комментарий в ответ наиболее полезным:
Почему имеет значение, если временное местоположение все равно прыгает, это временно!
Смотрите также
Переменные среды имеют 4 контекста:
(нажмите Win+R, затем введите regedit, чтобы найти пути ниже)
- Системные переменные (
HKLM\System\CurrentControlSet\Control\Session Manager\Environment
) - Пользовательские переменные (
HKCU\Environment
) - Переменные процесса (не хранятся в реестре)
- Летучие переменные (
HKCU\VolatileEnvironment
)
ссылка: https://rakhesh.com/windows/temp-environment-variable-has-a-2-or-other-number-after-it/
Когда групповая политика Do not use temporary folders per session
не настроен или не установлен на Enabled, система сгенерирует две переменные Volatile Environment TEMP
& TMP
с таким же значением текущего пользователя TEMP
переменная с добавлением инкрементного числа в конце папки TEMP (увеличивается каждый раз, когда пользователь входит в систему, подробности см. в ответе @Damien)
Если вы установите групповую политику Do not use temporary folders per session
если включено, такого поведения не будет.