据我了解,255个字符的文件路径限制是Windows系统的限制。这个限制的原因是什么?如果是这样,Windows 7是否已经解决了这个问题?
在我们的持续集成实践中,我们经常有深度嵌套的项目结构,能够超过255个字符将非常有用。现在,我们被迫以某种方式构建我们的项目,以避免达到这个人为的限制。
据我了解,255个字符的文件路径限制是Windows系统的限制。这个限制的原因是什么?如果是这样,Windows 7是否已经解决了这个问题?
在我们的持续集成实践中,我们经常有深度嵌套的项目结构,能够超过255个字符将非常有用。现在,我们被迫以某种方式构建我们的项目,以避免达到这个人为的限制。
请参阅http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx。
该文档解释了Windows API的Unicode版本具有更高的限制并说明如何启用它们。
如果需要的话,您可以使用subst来避免这种限制。
subst E: D:\TESTDATA\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1\4B871B~1
。这个命令让我成功访问了一个深度为500个字符的路径。 ~1的原因是因为资源管理器格式化路径时的方式。 - Adam Marcionek权宜之计并不是解决方案,因此答案是"不行"。
如果仍在寻找权宜之计,这里有可能的解决方案:http://support.code42.com/CrashPlan/Latest/Troubleshooting/Windows_File_Paths_Longer_Than_255_Characters
@Cort3z:如果问题仍然存在,这个热修复程序:https://support.microsoft.com/zh-cn/kb/2891362应该可以解决它(适用于Win7 SP1到8.1)。
从Windows 10版本1607开始,可以通过设置注册表项来移除限制。
C:\\
,因此只有255个字符可用。 - Aaron Dufour