C#:有什么办法可以绕过完全限定路径的 260 个字符限制吗?

发布于 2024-10-11 16:14:10 字数 370 浏览 4 评论 0原文

可能的重复:
为什么存在 260 个字符路径长度限制Windows?

我正在尝试找出一种方法来绕过这个可怕的 260 个字符的完全限定路径限制,同时我想知道为什么会有路径限制!?我知道对某些人来说 260 似乎“很多”,但自从我遇到这个问题以来,事实并非如此。

基本上:
为什么必须有字符数限制?
如何解决这个问题?

Possible Duplicate:
Why does the 260 character path length limit exist in Windows?

I'm trying to figure out a way to get around this dreaded 260 character fully qualified path limit and at the same time I wonder why the hell is there a path limit to begin with!? I know to some people 260 seems to be "a lot", but it truly isn't since I ran into this issue.

Basically:
Why must there be a character limit?
How does one get around it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

寻找一个思念的角度 2024-10-18 16:14:10

使用 \\?\ UNC 前缀可以突破路径的“DOS 模式”。 UNC 路径的最大长度为 32k 个字符。

更多信息请参见:http://msdn.microsoft.com/en-us/library /aa365247.aspx

Use the \\?\ UNC prefix to break out of "DOS mode" for paths. The max length for UNC paths is 32k characters.

More info here: http://msdn.microsoft.com/en-us/library/aa365247.aspx

爱格式化 2024-10-18 16:14:10

来自 MSDN

Windows API 具有许多函数,这些函数也具有 Unicode 版本,以允许扩展长度路径,最大路径总长度为 32,767 个字符。这种类型的路径由用反斜杠分隔的组件组成,每个组件最多为 GetVolumeInformation 函数的 lpMaximumComponentLength 参数返回的值(该值通常为 255 个字符)。要指定扩展长度路径,请使用“\\?\”前缀。例如,“\\?\D:\非常长的路径”。

From the MSDN:

The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".

昨迟人 2024-10-18 16:14:10

首先,这与 C# 无关,而与 Windows API 有关,其中存在该限制。 :)

看看这个问题及其答案,这将引导您访问 MSDN: 命名文件、路径和命名空间

Unicode 文件路径(在问题的答案和 MSDN 文章中进行了描述)可能是一种解决方案,但有一些注意事项。

Well, first, this has nothing to do with C# in particular, and everything to do with the Windows API, wherein that limit resides. :)

Take a look at this question and its answers, which will lead you to MSDN: Naming Files, Paths, and Namespaces

Unicode file paths (described in the answers to the question, and the MSDN article) may be as solution, with some caveats.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文