16

我有一个 Windows Server 2008 32 位,当我输入 %temp% 时,它会将我带到 ..AppData\Local\Temp\1\ 或 ..AppData\Local\Temp\2 而不是 ..AppData\Local\Temp

我已经检查了环境变量,它们没问题。

我问这个是因为我有一个应用程序应该将文件复制到 %temp%\my 应用程序,而是将文件复制到 %temp%\1\my 应用程序

有人有解决方案吗?

4

2 回答 2

22

解释、讨论、解决方法等,都在旧新事物文章为什么我的 TEMP 目录的名称不断变化- 它确保同一用户的多个终端服务会话不会(默认情况下)共享一个临时目录。

问题在于管理模板\Windows 组件\终端服务\临时文件夹组策略。如果您没有选择Do not use temporary folder per session,则会创建这些 TEMP 子目录。还有一篇知识库文章描述了这些组策略背后的注册表项

就个人而言,我发现回复的第一条评论是最有用的:

无论如何,如果临时位置跳来跳去又有什么关系,它是暂时的!

也可以看看

于 2011-06-29T13:25:52.300 回答
0

环境变量有 4 个上下文:

(执行 Win+R 然后键入 regedit 以查找下面的路径)

  1. 系统变量 ( HKLM\System\CurrentControlSet\Control\Session Manager\Environment)
  2. 用户变量 ( HKCU\Environment)
  3. 进程变量(未存储在注册表中)
  4. 易变变量 ( HKCU\VolatileEnvironment)

参考: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's answer了解详细信息)

如果您将组策略设置Do not use temporary folders per session为启用,则不会发生此行为。

于 2019-03-08T10:17:59.260 回答