在 Windows NT 中资源管理器和诸多传统的 Windows API 都对路径长度有限制,这个限制是 260 个字符 (包括盘符、冒号、反斜杠和文件名等等),如果文件的整个路径超过 260 个字符则在访问、复制、删除时都会提示路径太长或文件名太长的错误。
这种限制属于历史遗留问题,最初微软设置这个限制主要是用来兼容旧版文件系统例如 FAT 以及兼容早期的 Windows API,但在现代开发设计中文件夹层级非常深的情况也非常常见,例如 Node.js 项目中的 mode_modules 文件夹层级就非常多。
在 Windows 系统中,「路径长度限制」一直是个让人头疼的老大难问题。出于历史兼容性考量,Win32 API 默认把「完整路径」限制在 260 个字符以内,这个长度由常量
MAX_PATH
复制代码
来定义。
为了解决这个问题,并提升兼容性。从 Windows 10 1607 开始,微软在 Win32 API 中引入了「长路径支持」功能。启用后,用户和应用程序就可以使用最长约 32767 个字符的路径,大大提升了复杂文件目录结构的兼容性。
接下来,我们就来看看在 Windows 11 中,如何为所有用户开启或关闭 Win32 长路径支持。
Windows 11 文件名和路径长度限制