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

VB.Net中使用GetFileInfo处理含双引号文件名获取文件长度的方法

解决带双引号文件名的文件长度获取问题

Windows文件系统中双引号是保留特殊字符,直接用常规路径调用FileInfo或My.Computer.FileSystem.GetFileInfo会被判定为语法错误,你可以通过以下方法解决:

方法一:使用Windows扩展路径前缀

给绝对路径加上\\?\前缀,这个前缀会让Windows API跳过路径解析逻辑,直接按原始字符串处理文件路径,完美支持带双引号的文件名。

示例代码:

' 原始带双引号的路径
Dim filePath As String = "V:\CDs\Disco\Summer, Donna\2003 The Journey- The Very Best of Donna Summer\21. I Feel Love (12"" single mix).flac"
' 添加扩展路径前缀
Dim extendedFilePath As String = "\\?\" & filePath

' 直接获取文件长度(最简方式)
Dim fileLength As Long = System.IO.File.GetLength(extendedFilePath)

' 或者用FileInfo获取更多文件信息
Dim fileInfo As New System.IO.FileInfo(extendedFilePath)
Dim lengthFromInfo As Long = fileInfo.Length

注意事项

  • \\?\前缀仅支持绝对路径,如果你的路径是相对路径,需要先通过Path.GetFullPath()转换为绝对路径后再添加前缀。
  • Windows 7完全支持该扩展路径前缀,符合你的系统目标要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:32:36