Windows 可以处理的最长文件路径是多少?

Ron*_*fin 58 windows path

Windows 可以处理的最长文件路径是多少?

Ada*_*tan 50

最大路径长度(来自 MSDN)

在 Windows API 中(以下段落中讨论的一些例外情况除外),路径的最大长度为MAX_PATH,定义为 260 个字符。本地路径按以下顺序构造:驱动器号、冒号、反斜杠、由反斜杠分隔的组件和终止的空字符。例如,驱动器 D 上的最大路径是“D:\<一些 256 个字符的路径字符串><NUL>”,其中“<NUL>”表示当前系统代码页的不可见终止空字符。(此处使用字符 < > 是为了使视觉清晰,不能是有效路径字符串的一部分。)

  • 您应该提到,您可以通过在路径前加上 `\\?\` 来处理超出此限制的路径(我认为就是那个字符序列)。 (4认同)
  • 您还应该说明第二段中提到的 unicode 路径的限制:~32k (3认同)

joe*_*joe 14

XP 文件路径 - 250 个字符

Vista 文件路径 - 260 个字符

全新安装的 Windows XP 的最长路径为 152 个字符。

Windows Vista 半全新安装的最长路径为 195 个字符

Windows XP 允许文件名最长为 255 个字符

Windows Vista 允许包含最多 260 个字符的更长文件名。

http://www.codinghorror.com/blog/archives/000729.html

  • 如果您不使用 unicode-api,这确实是正确的,这会稍微扩展限制(~32k,请参阅 http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#最大%5Fpath%5Flength) (5认同)
  • 嗯。按照这个速度,Win7 中的限制应该在 265 个字符左右,不是吗? (3认同)

ST3*_*ST3 8

MAX_PATH正如其他答案所说,Windows 常量等于 260,但是,真正最长的路径是 32767。

这里

32k是在使用UNICODE的时候,但是现在我们必须使用它,所以我们也应该使用这样的最大路径长度。

此外,您可以查看我在 SO中的回答,其中解释了有关最大路径长度的一些更详细的内容。


phu*_*clv 5

“经典”限制为260个字符:drive letter+ :\+ 255 characters of filename+ \(或舍入)+null terminator在其他的答案作为所述

然而,真正的内部限制是32767 个字符,可以通过附加\\?\以获得完全限定的路径来实现

Windows API 有许多函数,这些函数也有 Unicode 版本,以允许最大总路径长度为 32,767 个字符的扩展长度路径。这种类型的路径由反斜杠分隔的组件组成,每个组件最多为函数lpMaximumComponentLength参数中返回的值GetVolumeInformation(该值通常为 255 个字符)。要指定扩展长度的路径,请使用"\\?\"前缀。例如,"\\?\D:\very long path"

如果由于某些原因无法使用完全限定的路径,则可以通过使用subst/挂载到驱动器号diskpart或通过创建结点/符号链接来缩短路径来访问更深的目录

自 Windows 10 版本 1607 以来,该MAX_PATH限制也已被删除,尽管默认情况下并非如此

从 Windows 10 版本 1607 开始,MAX_PATH已删除常见 Win32 文件和目录功能的限制。但是,您必须选择加入新行为。

https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file

请注意,乔的回答是完全错误的。最大(长)文件名长度一直是 255 个字符,MAX_PATH一直是 260

  • 前置 \\?\,不附加 \\?\ (2认同)