我有一台Windows Server 2008的32位系统,当我输入%temp%时,它会带我到..AppData\Local\Temp\1\或..AppData\Local\Temp\2,而不是..AppData\Local\Temp。
我已经检查了环境变量,它们没问题。
我的问题是因为我有一个应用程序,应该将文件复制到%temp%\my application,但它却将文件复制到%temp%\1\my application。
请问有没有解决方法?
我有一台Windows Server 2008的32位系统,当我输入%temp%时,它会带我到..AppData\Local\Temp\1\或..AppData\Local\Temp\2,而不是..AppData\Local\Temp。
我已经检查了环境变量,它们没问题。
我的问题是因为我有一个应用程序,应该将文件复制到%temp%\my application,但它却将文件复制到%temp%\1\my application。
请问有没有解决方法?
问题出在管理模板\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/
当组策略 不使用每个会话的临时文件夹
未配置或未设置为启用时,系统将生成两个易失性环境变量 TEMP
和 TMP
,其值与当前用户的 TEMP
变量相同,并在 TEMP 文件夹末尾添加递增数字(每次用户登录时递增,请查看 @Damien 的答案获取详细信息)。
如果您将组策略 不使用临时文件夹
设置为启用,则不会发生此行为。