Windows 7是否已修复255个字符文件路径限制?


92

据我了解,文件路径中255个字符的限制是Windows的限制。这是什么原因呢?如果是这样,在Windows 7中解决了吗?

在我们的持续集成实践中,我们经常具有深层嵌套的项目结构,并且能够超过255个字符将非常有用。现在,我们被迫以某种方式构造我们的项目,以免达到人为的上限。


3
@DavidHeffernan但是260的末尾包含空字符,而开头则是C:\,因此只能使用255个字符。
亚伦·

2
@DavidHeffernan我弄错了。Microsoft经常引用长度为256,这是您正确减去后得到的长度,而不是260,这从技术上来说是限制。
亚伦·迪富

5
这个问题激怒了我。Windows 8.1中仍然存在。我似乎无法移动我的文件,即使该文件最初是创建的。如果您找到某种使用255个以上的文件路径名创建文件的方法,则可能会使您的Windows计算机完全混乱。
Automatico

杰里米·库恩(Jeremy Kuhne)认为问题正在解决,可能很快就会解决。观看此视频。youtube.com/watch?v=ZppqEMegCAA
J爱德华·埃利斯

问题是有关Windows 7的,但无论如何,Windows 10确实可以选择打开某些应用程序的长路径。有关更多详细信息,请查看以下答案:stackoverflow.com/questions/27680647/…–
quasoft

Answers:


44

参见http://msdn.microsoft.com/zh-cn/library/aa365247(VS.85).aspx

这说明Windows API的Unicode版本具有更高的限制,以及如何启用它。


14
但是有个警告:一堆代码(大多数是第三方系统实用程序等)在较长的路径上无法很好地发挥作用。如果您开始使用更长的路径,则可能会有问题。
恢复莫妮卡·拉里·奥斯特曼

2
这篇文章正确吗?我在Windows 7中使用Windows资源管理器和Windows命令提示符做了一个简单的测试,但是我无法创建超过260个字符的文件路径。Microsoft是否没有将这些应用程序更新为使用Windows API的Unicode版本?
圣殿骑士

7
不幸的是,Windows 7 x64上的Windows资源管理器仍然受此路径限制。这给人的印象是,整个操作系统并没有克服此限制,实际上,实际上只是Windows资源管理器尚未更新以使用更长的路径。使用最新API的第三方文件管理器可能可以解决此问题。最终,程序是否看起来会达到路径限制将取决于该程序是否使用Windows上的最新API。
user1445967

2
这不是“较新”或“较旧” API的问题。仅当您明确要求时,您才获得长路径支持,而Explorer却没有这样做,大概是出于显而易见的原因:与现有第三方应用程序的兼容性。
哈里·约翰斯顿

9
-1-始终欢迎潜在解决方案的链接,但是请在该链接周围添加上下文,以便您的其他用户会知道它的含义以及为什么存在。如果目标站点无法访问或永久离线,请始终引用重要链接中最相关的部分。meta.stackoverflow.com/tags/link-only-answers/info
亚伦音乐厅

20

如果需要,可以通过使用subst来克服该限制。



1
或基于此答案内置于Windows的robocopy,stackoverflow.com
questions / 29865863 /…

5
您应该演示如何进行操作并提供指向相关文档的链接。-1
亚伦大厅

3
当我投票时,我同意一个例子将是有用的: 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 这使我绕过了500个字符深的路径。〜1s的原因是资源管理器格式化路径的方式。
亚当·马克西涅克

1
一个类似的解决方案是通过外壳扩展或通过mklink使用。示例:mklink /J C:\newdir C:\some\really\long\path\
Charles Grunwald,

14

解决方法不是解决方案,因此答案是“否”。

仍在寻找解决方法,这里是可能的解决方案:http : //support.code42.com/CrashPlan/Latest/Troubleshooting/Windows_File_Paths_Longer_Than_255_Characters


1
Windows的核心元素(包括powershell,Windows资源管理器shell和cmd实用程序(如del))仍然无法处理超过250个字符的路径,并且没有解决方法可以解决以下事实:截至2016年,Microsoft核心技术无法处理长路径。直到微软获得集体的支持,我们几乎无能为力。
沃伦·P


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.