【发布时间】:2010-08-28 18:02:40
【问题描述】:
我刚刚在 MSDN 上偶然发现了 this article,它说路径可以是 259 个字符 + NUL 终止,但是如果你在它前面加上“\\?\”前缀,WinAPI 允许你使用
最大总路径长度为 32,767 个字符。
渴望看到它工作我尝试使用资源管理器中的前缀(在 XP SP3 上),但它根本不起作用(在任何路径上)。如果你把\\?\C:\Path\to\an\existing.file放在资源管理器栏,会报“找不到文件”的错误。
所以我很困惑。我可以为(非古代)Windows 编写一些代码,充分利用 NTFS 上提到的路径大小吗?为什么 Explorer 不使用它?
【问题讨论】:
-
至少在 Windows 7 中工作。在 XP 中,调用 API 函数时可能会起作用,但在 explorer.exe 的 GUI 中输入路径时不起作用(这可能会立即允许任意长度的路径)?
-
好吧,我见过在 XP 中创建路径大于 259 的文件的软件(不记得是哪个),但资源管理器不允许我正确使用它们,甚至没有删除它们。要删除它们,我必须将父文件夹重命名为更短的名称。
标签: windows winapi path ntfs unc