答案1
不幸的是答案是“取决于程序“。由编写程序的人决定他们想要使用哪种方法。事实上,(无耻的广告)几周前我写了一篇博客文章,描述了这个问题Explorer 仍受 MAX_PATH 限制。
根据您要执行的操作,您可以使用其他程序来管理长路径,例如 Microsoft Word。否则,您唯一的选择就是“忍受它”,因为它一直都是这样,而且似乎不会很快改变。
我只是想提一下,64 位 Windows 也使用“Win32”API,并且CreateFileA
32 位和 64 位程序都存在这个问题。
编辑:令人讨厌的细节
问题只存在于CreateFileA
函数和CreateFileW
使用带驱动器号的绝对路径的函数中。解决它的唯一方法(在代码中)是使用语法\\?\C:\Path\To\File.txt
……因此,即使使用路径的程序也会出现问题。这有点难以描述,但不用说,程序内部不支持语法的最大原因是它们失去了使用相对CreateFileW
路径(类似路径)的能力。C:\Path\To\File.txt
\\?\
..\Documents\file.doc
答案2
Windows 7 中包含的 SUBST 命令将允许通过新的虚拟驱动器号访问更长的路径。
将路径与驱动器号关联。
SUBST [驱动器 1: [驱动器 2:]路径]
SUBST 驱动器 1:/D
drive1:指定要分配路径的虚拟驱动器。
[drive2:]path 指定要分配给虚拟驱动器的物理驱动器和路径。
/D 删除替代的(虚拟)驱动器。
键入不带参数的 SUBST 来显示当前虚拟驱动器的列表。
答案3
用一个交界处将较短的路径变成较长的路径。