You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET获取用户临时文件夹路径异常问题求助

解决VB.NET获取用户临时文件夹路径出现短名的问题

不要自行拼接临时文件夹路径,直接调用系统API获取完整路径就能避免短名(如EDUARD~1)问题,以下是两种可靠实现方式:

  • 方式一:基于LocalApplicationData拼接Temp
    LocalApplicationData本身指向C:\Users\EduardoPC\AppData\Local,直接拼接Temp即可得到完整长路径:

    Dim PersonalTemp As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Temp\"
    
  • 方式二:直接读取TEMP环境变量
    系统TEMP环境变量存储的就是当前用户临时文件夹的完整路径,直接读取即可:

    Dim PersonalTemp As String = Environment.GetEnvironmentVariable("TEMP")
    

如果需要确保路径为标准长文件名格式,可结合Path.GetFullPath处理:

Imports System.IO

' ...

Dim PersonalTemp As String = Path.GetFullPath(Environment.GetEnvironmentVariable("TEMP"))

原方法返回短名的原因

  • 第一种方法通过UserProfile拼接,当系统返回用户目录的短名时,拼接后的路径自然包含短名;
  • 第二种方法用SystemInformation.UserName拼接,若用户文件夹名称与登录用户名存在差异(比如系统自动生成了短名),拼接路径就会出错。

内容的提问来源于stack exchange,提问作者aandre4321

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:30:54