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

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

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

答案1

最大路径长度(摘自 MSDN)

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

答案2

XP 文件路径 - 250 个字符

Vista 文件路径 - 260 个字符

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

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

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

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

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

答案3

“经典的”极限是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

答案4

正如其他答案所说, Windows 常数MAX_PATH等于 260,但是实际最长路径是 32767。

这里

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

另外,你可以看看我的回答是这样的它更详细地解释了有关最大路径长度的一些内容。

相关内容