Windows API 中的路径长度限制是 260 个字符,但实际可用长度会因为几个因素而减少。以下是减少可用字符数的因素:
-
驱动器标识符:路径通常包括驱动器的标识符(如
C:\
),这占用了3个字符。 -
8.3 文件名保留:Windows 为了兼容性考虑,会为每个文件或文件夹保留一个 8.3 格式的文件名,即最多8个字符的文件名加上最多3个字符的扩展名,以及一个点(
.
),总共最多12个字符。这是为了确保在不支持长文件名的旧软件中仍然能够访问文件。
因此,考虑到这些因素,文件(夹)路径的实际最大长度是 244 个字符(259 - 3 - 12 = 244)。这意味着在尝试在深层文件夹中创建新文件或子文件夹时,路径长度很容易超过这个限制,从而导致资源管理器提示错误。
这个限制在日常使用中可能会造成不便,尤其是在处理深层嵌套的文件夹和文件时。尽管 Windows 10 版本 1607 及以后的版本引入了一个新的策略,允许通过组策略编辑器或修改注册表来启用长路径支持(最多 32,767 个字符),但这需要手动启用,并且应用程序需要显式支持这个特性才能利用长路径。此外,即便启用了长路径支持,某些应用程序和环境(如某些命令行工具或旧版软件)可能仍不支持或无法正确处理超过传统限制的路径。