微软将在Win11中增加长路径开关 解决文件路径超260字符无法删除/移动问题
在 Windows NT 中资源管理器和诸多传统的 Windows API 都对路径长度有限制,这个限制是 260 个字符 (包括盘符、冒号、反斜杠和文件名等等),如果文件的整个路径超过 260 个字符则在访问、复制、删除时都会提示路径太长或文件名太长的错误。
这种限制属于历史遗留问题,最初微软设置这个限制主要是用来兼容旧版文件系统例如 FAT 以及兼容早期的 Windows API,但在现代开发设计中文件夹层级非常深的情况也非常常见,例如 Node.js 项目中的 mode_modules 文件夹层级就非常多。
所以微软从 Windows 10 v1607 版开始就允许专业用户通过注册表或组策略解除这种限制,在 Windows 11 里则是通过 Dev Home 应用提供直接解除设置,不过 Dev Home 目前已经停止开发且被废弃。
微软现在准备将 Dev Home 中的这些功能直接移植到 Windows 11 中,让专业用户可以在 Windows 11 开发者模式中直接设置,不再需要修改注册表、组策略或借助第三方应用。
在 Windows 11 最新测试版中,开发者设置页面就提供了长路径支持 (Enable long paths),当用户启用该选项后将移除用于限制 260 字符的 MAX_PATH 参数,移除后即便是非常长的路径也可以正常操作,不会再出现错误。
当然说是取消限制,但受制于 NTFS 文件系统的特性,移除 MAX_PATH 参数后,最终长路径的字符数是 32,767 个字符,也就是说如果文件路径整个字符数超过 32,767 则仍然会出现错误,不过多数情况下应该不至于出现如此长的路径。
预计移除长路径参数限制将在接下来一段时间合并到 Windows 11 24H2 版,到时候专业用户可以转到 Windows 11 设置、系统、高级、资源管理器、启用长路径支持。
via Phantomofearth